• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2016 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can
5  * be found in the LICENSE file.
6  *
7  */
8 
9 #pragma once
10 
11 //
12 //
13 //
14 
15 #include <stdint.h>
16 
17 //
18 // This structure packages all of the parameters and kernels for a
19 // target architecture.
20 //
21 
22 struct hs_cl_target_config
23 {
24   struct {
25     uint8_t   threads_log2;
26     uint8_t   width_log2;
27     uint8_t   height;
28   } slab;
29 
30   struct {
31     uint8_t   key;
32     uint8_t   val;
33   } words;
34 
35   struct {
36     uint8_t   slabs;
37   } block;
38 
39   struct {
40     struct {
41       uint8_t scale_min;
42       uint8_t scale_max;
43     } fm;
44     struct {
45       uint8_t scale_min;
46       uint8_t scale_max;
47     } hm;
48   } merge;
49 };
50 
51 //
52 //
53 //
54 
55 struct hs_cl_target
56 {
57   struct hs_cl_target_config config;
58   uint8_t                    program[];
59 };
60 
61 //
62 //
63 //
64