1#include <stdint.h>
2
3#if 0
4/usr/local/google/home/olv/khronos/VulkanSamples/Demos/Hologram/Hologram.push_constant.vert
5Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
6
7
8Linked vertex stage:
9
10
11// Module Version 10000
12// Generated by (magic number): 80001
13// Id's are bound by 108
14
15                              Capability Shader
16               1:             ExtInstImport  "GLSL.std.450"
17                              MemoryModel Logical GLSL450
18                              EntryPoint Vertex 4  "main" 38 67 89 102
19                              Source ESSL 310
20                              Name 4  "main"
21                              Name 9  "world_light"
22                              Name 12  "param_block"
23                              MemberName 12(param_block) 0  "light_pos"
24                              MemberName 12(param_block) 1  "light_color"
25                              MemberName 12(param_block) 2  "model"
26                              MemberName 12(param_block) 3  "view_projection"
27                              Name 14  "params"
28                              Name 34  "world_pos"
29                              Name 38  "in_pos"
30                              Name 49  "world_normal"
31                              Name 67  "in_normal"
32                              Name 70  "light_dir"
33                              Name 75  "brightness"
34                              Name 87  "gl_PerVertex"
35                              MemberName 87(gl_PerVertex) 0  "gl_Position"
36                              MemberName 87(gl_PerVertex) 1  "gl_PointSize"
37                              Name 89  ""
38                              Name 102  "color"
39                              MemberDecorate 12(param_block) 0 Offset 0
40                              MemberDecorate 12(param_block) 1 Offset 16
41                              MemberDecorate 12(param_block) 2 ColMajor
42                              MemberDecorate 12(param_block) 2 Offset 32
43                              MemberDecorate 12(param_block) 2 MatrixStride 16
44                              MemberDecorate 12(param_block) 3 ColMajor
45                              MemberDecorate 12(param_block) 3 Offset 96
46                              MemberDecorate 12(param_block) 3 MatrixStride 16
47                              Decorate 12(param_block) Block
48                              Decorate 14(params) DescriptorSet 0
49                              Decorate 38(in_pos) Location 0
50                              Decorate 67(in_normal) Location 1
51                              MemberDecorate 87(gl_PerVertex) 0 BuiltIn Position
52                              MemberDecorate 87(gl_PerVertex) 1 BuiltIn PointSize
53                              Decorate 87(gl_PerVertex) Block
54               2:             TypeVoid
55               3:             TypeFunction 2
56               6:             TypeFloat 32
57               7:             TypeVector 6(float) 3
58               8:             TypePointer Function 7(fvec3)
59              10:             TypeVector 6(float) 4
60              11:             TypeMatrix 10(fvec4) 4
61 12(param_block):             TypeStruct 7(fvec3) 7(fvec3) 11 11
62              13:             TypePointer PushConstant 12(param_block)
63      14(params):     13(ptr) Variable PushConstant
64              15:             TypeInt 32 1
65              16:     15(int) Constant 2
66              17:             TypePointer PushConstant 11
67              20:     15(int) Constant 0
68              21:             TypePointer PushConstant 7(fvec3)
69              24:    6(float) Constant 1065353216
70              37:             TypePointer Input 7(fvec3)
71      38(in_pos):     37(ptr) Variable Input
72              52:             TypeMatrix 7(fvec3) 3
73              53:    6(float) Constant 0
74   67(in_normal):     37(ptr) Variable Input
75              74:             TypePointer Function 6(float)
7687(gl_PerVertex):             TypeStruct 10(fvec4) 6(float)
77              88:             TypePointer Output 87(gl_PerVertex)
78              89:     88(ptr) Variable Output
79              90:     15(int) Constant 3
80              99:             TypePointer Output 10(fvec4)
81             101:             TypePointer Output 7(fvec3)
82      102(color):    101(ptr) Variable Output
83             103:     15(int) Constant 1
84         4(main):           2 Function None 3
85               5:             Label
86  9(world_light):      8(ptr) Variable Function
87   34(world_pos):      8(ptr) Variable Function
8849(world_normal):      8(ptr) Variable Function
89   70(light_dir):      8(ptr) Variable Function
90  75(brightness):     74(ptr) Variable Function
91              18:     17(ptr) AccessChain 14(params) 16
92              19:          11 Load 18
93              22:     21(ptr) AccessChain 14(params) 20
94              23:    7(fvec3) Load 22
95              25:    6(float) CompositeExtract 23 0
96              26:    6(float) CompositeExtract 23 1
97              27:    6(float) CompositeExtract 23 2
98              28:   10(fvec4) CompositeConstruct 25 26 27 24
99              29:   10(fvec4) MatrixTimesVector 19 28
100              30:    6(float) CompositeExtract 29 0
101              31:    6(float) CompositeExtract 29 1
102              32:    6(float) CompositeExtract 29 2
103              33:    7(fvec3) CompositeConstruct 30 31 32
104                              Store 9(world_light) 33
105              35:     17(ptr) AccessChain 14(params) 16
106              36:          11 Load 35
107              39:    7(fvec3) Load 38(in_pos)
108              40:    6(float) CompositeExtract 39 0
109              41:    6(float) CompositeExtract 39 1
110              42:    6(float) CompositeExtract 39 2
111              43:   10(fvec4) CompositeConstruct 40 41 42 24
112              44:   10(fvec4) MatrixTimesVector 36 43
113              45:    6(float) CompositeExtract 44 0
114              46:    6(float) CompositeExtract 44 1
115              47:    6(float) CompositeExtract 44 2
116              48:    7(fvec3) CompositeConstruct 45 46 47
117                              Store 34(world_pos) 48
118              50:     17(ptr) AccessChain 14(params) 16
119              51:          11 Load 50
120              54:    6(float) CompositeExtract 51 0 0
121              55:    6(float) CompositeExtract 51 0 1
122              56:    6(float) CompositeExtract 51 0 2
123              57:    6(float) CompositeExtract 51 1 0
124              58:    6(float) CompositeExtract 51 1 1
125              59:    6(float) CompositeExtract 51 1 2
126              60:    6(float) CompositeExtract 51 2 0
127              61:    6(float) CompositeExtract 51 2 1
128              62:    6(float) CompositeExtract 51 2 2
129              63:    7(fvec3) CompositeConstruct 54 55 56
130              64:    7(fvec3) CompositeConstruct 57 58 59
131              65:    7(fvec3) CompositeConstruct 60 61 62
132              66:          52 CompositeConstruct 63 64 65
133              68:    7(fvec3) Load 67(in_normal)
134              69:    7(fvec3) MatrixTimesVector 66 68
135                              Store 49(world_normal) 69
136              71:    7(fvec3) Load 9(world_light)
137              72:    7(fvec3) Load 34(world_pos)
138              73:    7(fvec3) FSub 71 72
139                              Store 70(light_dir) 73
140              76:    7(fvec3) Load 70(light_dir)
141              77:    7(fvec3) Load 49(world_normal)
142              78:    6(float) Dot 76 77
143              79:    7(fvec3) Load 70(light_dir)
144              80:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 79
145              81:    6(float) FDiv 78 80
146              82:    7(fvec3) Load 49(world_normal)
147              83:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 82
148              84:    6(float) FDiv 81 83
149                              Store 75(brightness) 84
150              85:    6(float) Load 75(brightness)
151              86:    6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 85
152                              Store 75(brightness) 86
153              91:     17(ptr) AccessChain 14(params) 90
154              92:          11 Load 91
155              93:    7(fvec3) Load 34(world_pos)
156              94:    6(float) CompositeExtract 93 0
157              95:    6(float) CompositeExtract 93 1
158              96:    6(float) CompositeExtract 93 2
159              97:   10(fvec4) CompositeConstruct 94 95 96 24
160              98:   10(fvec4) MatrixTimesVector 92 97
161             100:     99(ptr) AccessChain 89 20
162                              Store 100 98
163             104:     21(ptr) AccessChain 14(params) 103
164             105:    7(fvec3) Load 104
165             106:    6(float) Load 75(brightness)
166             107:    7(fvec3) VectorTimesScalar 105 106
167                              Store 102(color) 107
168                              Return
169                              FunctionEnd
170#endif
171
172static const uint32_t Smoke_push_constant_vert[715] = {
173    0x07230203, 0x00010000, 0x00080001, 0x0000006c,
174    0x00000000, 0x00020011, 0x00000001, 0x0006000b,
175    0x00000001, 0x4c534c47, 0x6474732e, 0x3035342e,
176    0x00000000, 0x0003000e, 0x00000000, 0x00000001,
177    0x0009000f, 0x00000000, 0x00000004, 0x6e69616d,
178    0x00000000, 0x00000026, 0x00000043, 0x00000059,
179    0x00000066, 0x00030003, 0x00000001, 0x00000136,
180    0x00040005, 0x00000004, 0x6e69616d, 0x00000000,
181    0x00050005, 0x00000009, 0x6c726f77, 0x696c5f64,
182    0x00746867, 0x00050005, 0x0000000c, 0x61726170,
183    0x6c625f6d, 0x006b636f, 0x00060006, 0x0000000c,
184    0x00000000, 0x6867696c, 0x6f705f74, 0x00000073,
185    0x00060006, 0x0000000c, 0x00000001, 0x6867696c,
186    0x6f635f74, 0x00726f6c, 0x00050006, 0x0000000c,
187    0x00000002, 0x65646f6d, 0x0000006c, 0x00070006,
188    0x0000000c, 0x00000003, 0x77656976, 0x6f72705f,
189    0x7463656a, 0x006e6f69, 0x00040005, 0x0000000e,
190    0x61726170, 0x0000736d, 0x00050005, 0x00000022,
191    0x6c726f77, 0x6f705f64, 0x00000073, 0x00040005,
192    0x00000026, 0x705f6e69, 0x0000736f, 0x00060005,
193    0x00000031, 0x6c726f77, 0x6f6e5f64, 0x6c616d72,
194    0x00000000, 0x00050005, 0x00000043, 0x6e5f6e69,
195    0x616d726f, 0x0000006c, 0x00050005, 0x00000046,
196    0x6867696c, 0x69645f74, 0x00000072, 0x00050005,
197    0x0000004b, 0x67697262, 0x656e7468, 0x00007373,
198    0x00060005, 0x00000057, 0x505f6c67, 0x65567265,
199    0x78657472, 0x00000000, 0x00060006, 0x00000057,
200    0x00000000, 0x505f6c67, 0x7469736f, 0x006e6f69,
201    0x00070006, 0x00000057, 0x00000001, 0x505f6c67,
202    0x746e696f, 0x657a6953, 0x00000000, 0x00030005,
203    0x00000059, 0x00000000, 0x00040005, 0x00000066,
204    0x6f6c6f63, 0x00000072, 0x00050048, 0x0000000c,
205    0x00000000, 0x00000023, 0x00000000, 0x00050048,
206    0x0000000c, 0x00000001, 0x00000023, 0x00000010,
207    0x00040048, 0x0000000c, 0x00000002, 0x00000005,
208    0x00050048, 0x0000000c, 0x00000002, 0x00000023,
209    0x00000020, 0x00050048, 0x0000000c, 0x00000002,
210    0x00000007, 0x00000010, 0x00040048, 0x0000000c,
211    0x00000003, 0x00000005, 0x00050048, 0x0000000c,
212    0x00000003, 0x00000023, 0x00000060, 0x00050048,
213    0x0000000c, 0x00000003, 0x00000007, 0x00000010,
214    0x00030047, 0x0000000c, 0x00000002, 0x00040047,
215    0x0000000e, 0x00000022, 0x00000000, 0x00040047,
216    0x00000026, 0x0000001e, 0x00000000, 0x00040047,
217    0x00000043, 0x0000001e, 0x00000001, 0x00050048,
218    0x00000057, 0x00000000, 0x0000000b, 0x00000000,
219    0x00050048, 0x00000057, 0x00000001, 0x0000000b,
220    0x00000001, 0x00030047, 0x00000057, 0x00000002,
221    0x00020013, 0x00000002, 0x00030021, 0x00000003,
222    0x00000002, 0x00030016, 0x00000006, 0x00000020,
223    0x00040017, 0x00000007, 0x00000006, 0x00000003,
224    0x00040020, 0x00000008, 0x00000007, 0x00000007,
225    0x00040017, 0x0000000a, 0x00000006, 0x00000004,
226    0x00040018, 0x0000000b, 0x0000000a, 0x00000004,
227    0x0006001e, 0x0000000c, 0x00000007, 0x00000007,
228    0x0000000b, 0x0000000b, 0x00040020, 0x0000000d,
229    0x00000009, 0x0000000c, 0x0004003b, 0x0000000d,
230    0x0000000e, 0x00000009, 0x00040015, 0x0000000f,
231    0x00000020, 0x00000001, 0x0004002b, 0x0000000f,
232    0x00000010, 0x00000002, 0x00040020, 0x00000011,
233    0x00000009, 0x0000000b, 0x0004002b, 0x0000000f,
234    0x00000014, 0x00000000, 0x00040020, 0x00000015,
235    0x00000009, 0x00000007, 0x0004002b, 0x00000006,
236    0x00000018, 0x3f800000, 0x00040020, 0x00000025,
237    0x00000001, 0x00000007, 0x0004003b, 0x00000025,
238    0x00000026, 0x00000001, 0x00040018, 0x00000034,
239    0x00000007, 0x00000003, 0x0004002b, 0x00000006,
240    0x00000035, 0x00000000, 0x0004003b, 0x00000025,
241    0x00000043, 0x00000001, 0x00040020, 0x0000004a,
242    0x00000007, 0x00000006, 0x0004001e, 0x00000057,
243    0x0000000a, 0x00000006, 0x00040020, 0x00000058,
244    0x00000003, 0x00000057, 0x0004003b, 0x00000058,
245    0x00000059, 0x00000003, 0x0004002b, 0x0000000f,
246    0x0000005a, 0x00000003, 0x00040020, 0x00000063,
247    0x00000003, 0x0000000a, 0x00040020, 0x00000065,
248    0x00000003, 0x00000007, 0x0004003b, 0x00000065,
249    0x00000066, 0x00000003, 0x0004002b, 0x0000000f,
250    0x00000067, 0x00000001, 0x00050036, 0x00000002,
251    0x00000004, 0x00000000, 0x00000003, 0x000200f8,
252    0x00000005, 0x0004003b, 0x00000008, 0x00000009,
253    0x00000007, 0x0004003b, 0x00000008, 0x00000022,
254    0x00000007, 0x0004003b, 0x00000008, 0x00000031,
255    0x00000007, 0x0004003b, 0x00000008, 0x00000046,
256    0x00000007, 0x0004003b, 0x0000004a, 0x0000004b,
257    0x00000007, 0x00050041, 0x00000011, 0x00000012,
258    0x0000000e, 0x00000010, 0x0004003d, 0x0000000b,
259    0x00000013, 0x00000012, 0x00050041, 0x00000015,
260    0x00000016, 0x0000000e, 0x00000014, 0x0004003d,
261    0x00000007, 0x00000017, 0x00000016, 0x00050051,
262    0x00000006, 0x00000019, 0x00000017, 0x00000000,
263    0x00050051, 0x00000006, 0x0000001a, 0x00000017,
264    0x00000001, 0x00050051, 0x00000006, 0x0000001b,
265    0x00000017, 0x00000002, 0x00070050, 0x0000000a,
266    0x0000001c, 0x00000019, 0x0000001a, 0x0000001b,
267    0x00000018, 0x00050091, 0x0000000a, 0x0000001d,
268    0x00000013, 0x0000001c, 0x00050051, 0x00000006,
269    0x0000001e, 0x0000001d, 0x00000000, 0x00050051,
270    0x00000006, 0x0000001f, 0x0000001d, 0x00000001,
271    0x00050051, 0x00000006, 0x00000020, 0x0000001d,
272    0x00000002, 0x00060050, 0x00000007, 0x00000021,
273    0x0000001e, 0x0000001f, 0x00000020, 0x0003003e,
274    0x00000009, 0x00000021, 0x00050041, 0x00000011,
275    0x00000023, 0x0000000e, 0x00000010, 0x0004003d,
276    0x0000000b, 0x00000024, 0x00000023, 0x0004003d,
277    0x00000007, 0x00000027, 0x00000026, 0x00050051,
278    0x00000006, 0x00000028, 0x00000027, 0x00000000,
279    0x00050051, 0x00000006, 0x00000029, 0x00000027,
280    0x00000001, 0x00050051, 0x00000006, 0x0000002a,
281    0x00000027, 0x00000002, 0x00070050, 0x0000000a,
282    0x0000002b, 0x00000028, 0x00000029, 0x0000002a,
283    0x00000018, 0x00050091, 0x0000000a, 0x0000002c,
284    0x00000024, 0x0000002b, 0x00050051, 0x00000006,
285    0x0000002d, 0x0000002c, 0x00000000, 0x00050051,
286    0x00000006, 0x0000002e, 0x0000002c, 0x00000001,
287    0x00050051, 0x00000006, 0x0000002f, 0x0000002c,
288    0x00000002, 0x00060050, 0x00000007, 0x00000030,
289    0x0000002d, 0x0000002e, 0x0000002f, 0x0003003e,
290    0x00000022, 0x00000030, 0x00050041, 0x00000011,
291    0x00000032, 0x0000000e, 0x00000010, 0x0004003d,
292    0x0000000b, 0x00000033, 0x00000032, 0x00060051,
293    0x00000006, 0x00000036, 0x00000033, 0x00000000,
294    0x00000000, 0x00060051, 0x00000006, 0x00000037,
295    0x00000033, 0x00000000, 0x00000001, 0x00060051,
296    0x00000006, 0x00000038, 0x00000033, 0x00000000,
297    0x00000002, 0x00060051, 0x00000006, 0x00000039,
298    0x00000033, 0x00000001, 0x00000000, 0x00060051,
299    0x00000006, 0x0000003a, 0x00000033, 0x00000001,
300    0x00000001, 0x00060051, 0x00000006, 0x0000003b,
301    0x00000033, 0x00000001, 0x00000002, 0x00060051,
302    0x00000006, 0x0000003c, 0x00000033, 0x00000002,
303    0x00000000, 0x00060051, 0x00000006, 0x0000003d,
304    0x00000033, 0x00000002, 0x00000001, 0x00060051,
305    0x00000006, 0x0000003e, 0x00000033, 0x00000002,
306    0x00000002, 0x00060050, 0x00000007, 0x0000003f,
307    0x00000036, 0x00000037, 0x00000038, 0x00060050,
308    0x00000007, 0x00000040, 0x00000039, 0x0000003a,
309    0x0000003b, 0x00060050, 0x00000007, 0x00000041,
310    0x0000003c, 0x0000003d, 0x0000003e, 0x00060050,
311    0x00000034, 0x00000042, 0x0000003f, 0x00000040,
312    0x00000041, 0x0004003d, 0x00000007, 0x00000044,
313    0x00000043, 0x00050091, 0x00000007, 0x00000045,
314    0x00000042, 0x00000044, 0x0003003e, 0x00000031,
315    0x00000045, 0x0004003d, 0x00000007, 0x00000047,
316    0x00000009, 0x0004003d, 0x00000007, 0x00000048,
317    0x00000022, 0x00050083, 0x00000007, 0x00000049,
318    0x00000047, 0x00000048, 0x0003003e, 0x00000046,
319    0x00000049, 0x0004003d, 0x00000007, 0x0000004c,
320    0x00000046, 0x0004003d, 0x00000007, 0x0000004d,
321    0x00000031, 0x00050094, 0x00000006, 0x0000004e,
322    0x0000004c, 0x0000004d, 0x0004003d, 0x00000007,
323    0x0000004f, 0x00000046, 0x0006000c, 0x00000006,
324    0x00000050, 0x00000001, 0x00000042, 0x0000004f,
325    0x00050088, 0x00000006, 0x00000051, 0x0000004e,
326    0x00000050, 0x0004003d, 0x00000007, 0x00000052,
327    0x00000031, 0x0006000c, 0x00000006, 0x00000053,
328    0x00000001, 0x00000042, 0x00000052, 0x00050088,
329    0x00000006, 0x00000054, 0x00000051, 0x00000053,
330    0x0003003e, 0x0000004b, 0x00000054, 0x0004003d,
331    0x00000006, 0x00000055, 0x0000004b, 0x0006000c,
332    0x00000006, 0x00000056, 0x00000001, 0x00000004,
333    0x00000055, 0x0003003e, 0x0000004b, 0x00000056,
334    0x00050041, 0x00000011, 0x0000005b, 0x0000000e,
335    0x0000005a, 0x0004003d, 0x0000000b, 0x0000005c,
336    0x0000005b, 0x0004003d, 0x00000007, 0x0000005d,
337    0x00000022, 0x00050051, 0x00000006, 0x0000005e,
338    0x0000005d, 0x00000000, 0x00050051, 0x00000006,
339    0x0000005f, 0x0000005d, 0x00000001, 0x00050051,
340    0x00000006, 0x00000060, 0x0000005d, 0x00000002,
341    0x00070050, 0x0000000a, 0x00000061, 0x0000005e,
342    0x0000005f, 0x00000060, 0x00000018, 0x00050091,
343    0x0000000a, 0x00000062, 0x0000005c, 0x00000061,
344    0x00050041, 0x00000063, 0x00000064, 0x00000059,
345    0x00000014, 0x0003003e, 0x00000064, 0x00000062,
346    0x00050041, 0x00000015, 0x00000068, 0x0000000e,
347    0x00000067, 0x0004003d, 0x00000007, 0x00000069,
348    0x00000068, 0x0004003d, 0x00000006, 0x0000006a,
349    0x0000004b, 0x0005008e, 0x00000007, 0x0000006b,
350    0x00000069, 0x0000006a, 0x0003003e, 0x00000066,
351    0x0000006b, 0x000100fd, 0x00010038,
352};
353