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