• 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 //
10 //
11 //
12 
13 #include "hs_target.h"
14 #include "hs_config.h"
15 
16 //
17 //
18 //
19 
20 struct hs_vk_target const HS_TARGET_NAME =
21 {
22   .config = {
23     .slab = {
24       .threads_log2 = HS_SLAB_THREADS_LOG2,
25       .width_log2   = HS_SLAB_WIDTH_LOG2,
26       .height       = HS_SLAB_HEIGHT
27     },
28 
29     .words = {
30       .key          = HS_KEY_WORDS,
31       .val          = HS_VAL_WORDS
32     },
33 
34     .block = {
35       .slabs        = HS_BS_SLABS
36     },
37 
38     .merge = {
39       .fm = {
40         .scale_min  = HS_FM_SCALE_MIN,
41         .scale_max  = HS_FM_SCALE_MAX
42       },
43       .hm = {
44         .scale_min  = HS_HM_SCALE_MIN,
45         .scale_max  = HS_HM_SCALE_MAX,
46       }
47     },
48 
49     .pad = { 0 }
50   },
51 
52   .modules = {
53 
54 #include "hs_modules.h"
55 
56 #ifdef HS_DUMP
57     0,0,0,0
58 #endif
59   }
60 };
61 
62 //
63 //
64 //
65 
66 #ifdef HS_DUMP
67 
68 #include <stdlib.h>
69 #include <stdio.h>
70 
71 int
main(int argc,char const * argv[])72 main(int argc, char const * argv[])
73 {
74   FILE * fp = fopen("hs_target.bin","wb");
75 
76   fwrite(&HS_TARGET_NAME.config,1,sizeof(HS_TARGET_NAME.config),fp);
77 
78   uint8_t const * modules = HS_TARGET_NAME.modules;
79   size_t          modsize = (modules[0]<<24) | (modules[1]<<16) | (modules[2]<<8) | modules[3];
80 
81   while (modsize > 0) {
82     // fprintf(stderr,"%zu\n",modsize);
83     modsize += sizeof(uint32_t);
84     fwrite(modules,1,modsize,fp);
85     modules += modsize;
86     modsize  = (modules[0]<<24) | (modules[1]<<16) | (modules[2]<<8) | modules[3];
87   }
88 
89   fclose(fp);
90 
91   return EXIT_SUCCESS;
92 }
93 
94 #endif
95 
96 //
97 //
98 //
99