4 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
5 0:8 Function Parameters:
6 0:8 'd' ( in 4-component vector of float)
7 0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
8 0:8 'e' ( in 4-component vector of float)
10 0:11 move second child to first child ( temp 4-component vector of float)
11 0:11 b: direct index for structure ( temp 4-component vector of float)
12 0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
15 0:11 add ( temp 4-component vector of float)
16 0:11 add ( temp 4-component vector of float)
17 0:11 add ( temp 4-component vector of float)
18 0:11 add ( temp 4-component vector of float)
19 0:11 direct index ( temp 4-component vector of float)
20 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
21 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
26 0:11 direct index ( temp 4-component vector of float)
27 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
28 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
33 0:11 Construct vec4 ( temp 4-component vector of float)
34 0:11 Convert uint to float ( temp float)
35 0:11 direct index ( temp uint)
36 0:11 coord: direct index for structure ( temp 2-component vector of uint)
37 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
42 0:11 'd' ( in 4-component vector of float)
43 0:11 'e' ( in 4-component vector of float)
44 0:13 Branch: Return with expression
45 0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
46 0:8 Function Definition: main( ( temp void)
47 0:8 Function Parameters:
49 0:8 move second child to first child ( temp 4-component vector of float)
50 0:? 'd' ( temp 4-component vector of float)
51 0:? 'd' (layout( location=0) in 4-component vector of float)
53 0:8 move second child to first child ( temp 4-component vector of float)
54 0:8 direct index ( temp 4-component vector of float)
55 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
56 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
61 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
62 0:8 move second child to first child ( temp 4-component vector of float)
63 0:8 direct index ( temp 4-component vector of float)
64 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
65 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
70 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
71 0:8 move second child to first child ( temp 2-component vector of uint)
72 0:8 coord: direct index for structure ( temp 2-component vector of uint)
73 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
76 0:? 'coord' (layout( location=3) in 2-component vector of uint)
77 0:8 move second child to first child ( temp 4-component vector of float)
78 0:8 b: direct index for structure ( temp 4-component vector of float)
79 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
82 0:? 'b' (layout( location=4) in 4-component vector of float)
83 0:8 move second child to first child ( temp 4-component vector of float)
84 0:? 'e' ( temp 4-component vector of float)
85 0:? 'e' (layout( location=5) in 4-component vector of float)
87 0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
88 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
89 0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
90 0:? 'd' ( temp 4-component vector of float)
91 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
92 0:? 'e' ( temp 4-component vector of float)
93 0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
94 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
95 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
98 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
99 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
102 0:8 move second child to first child ( temp 2-component vector of uint)
103 0:8 coord: direct index for structure ( temp 2-component vector of uint)
104 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
107 0:8 coord: direct index for structure ( temp 2-component vector of uint)
108 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
111 0:8 move second child to first child ( temp 4-component vector of float)
112 0:8 b: direct index for structure ( temp 4-component vector of float)
113 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
116 0:8 b: direct index for structure ( temp 4-component vector of float)
117 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
121 0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
122 0:? 'd' (layout( location=0) in 4-component vector of float)
123 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
124 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
125 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
126 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
127 0:? 'coord' (layout( location=3) in 2-component vector of uint)
128 0:? 'b' (layout( location=4) in 4-component vector of float)
129 0:? 'e' (layout( location=5) in 4-component vector of float)
137 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
138 0:8 Function Parameters:
139 0:8 'd' ( in 4-component vector of float)
140 0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
141 0:8 'e' ( in 4-component vector of float)
143 0:11 move second child to first child ( temp 4-component vector of float)
144 0:11 b: direct index for structure ( temp 4-component vector of float)
145 0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
148 0:11 add ( temp 4-component vector of float)
149 0:11 add ( temp 4-component vector of float)
150 0:11 add ( temp 4-component vector of float)
151 0:11 add ( temp 4-component vector of float)
152 0:11 direct index ( temp 4-component vector of float)
153 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
154 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
159 0:11 direct index ( temp 4-component vector of float)
160 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
161 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
166 0:11 Construct vec4 ( temp 4-component vector of float)
167 0:11 Convert uint to float ( temp float)
168 0:11 direct index ( temp uint)
169 0:11 coord: direct index for structure ( temp 2-component vector of uint)
170 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
175 0:11 'd' ( in 4-component vector of float)
176 0:11 'e' ( in 4-component vector of float)
177 0:13 Branch: Return with expression
178 0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
179 0:8 Function Definition: main( ( temp void)
180 0:8 Function Parameters:
182 0:8 move second child to first child ( temp 4-component vector of float)
183 0:? 'd' ( temp 4-component vector of float)
184 0:? 'd' (layout( location=0) in 4-component vector of float)
186 0:8 move second child to first child ( temp 4-component vector of float)
187 0:8 direct index ( temp 4-component vector of float)
188 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
189 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
194 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
195 0:8 move second child to first child ( temp 4-component vector of float)
196 0:8 direct index ( temp 4-component vector of float)
197 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
198 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
203 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
204 0:8 move second child to first child ( temp 2-component vector of uint)
205 0:8 coord: direct index for structure ( temp 2-component vector of uint)
206 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
209 0:? 'coord' (layout( location=3) in 2-component vector of uint)
210 0:8 move second child to first child ( temp 4-component vector of float)
211 0:8 b: direct index for structure ( temp 4-component vector of float)
212 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
215 0:? 'b' (layout( location=4) in 4-component vector of float)
216 0:8 move second child to first child ( temp 4-component vector of float)
217 0:? 'e' ( temp 4-component vector of float)
218 0:? 'e' (layout( location=5) in 4-component vector of float)
220 0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
221 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
222 0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
223 0:? 'd' ( temp 4-component vector of float)
224 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
225 0:? 'e' ( temp 4-component vector of float)
226 0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
227 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
228 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
231 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
232 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
235 0:8 move second child to first child ( temp 2-component vector of uint)
236 0:8 coord: direct index for structure ( temp 2-component vector of uint)
237 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
240 0:8 coord: direct index for structure ( temp 2-component vector of uint)
241 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
244 0:8 move second child to first child ( temp 4-component vector of float)
245 0:8 b: direct index for structure ( temp 4-component vector of float)
246 0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
249 0:8 b: direct index for structure ( temp 4-component vector of float)
250 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
254 0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
255 0:? 'd' (layout( location=0) in 4-component vector of float)
256 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
257 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
258 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
259 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
260 0:? 'coord' (layout( location=3) in 2-component vector of uint)
261 0:? 'b' (layout( location=4) in 4-component vector of float)
262 0:? 'e' (layout( location=5) in 4-component vector of float)
264 // Module Version 10000
265 // Generated by (magic number): 80001
266 // Id's are bound by 92
269 1: ExtInstImport "GLSL.std.450"
270 MemoryModel Logical GLSL450
271 EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78
274 MemberName 13(VI) 0 "m"
275 MemberName 13(VI) 1 "coord"
276 MemberName 13(VI) 2 "b"
277 Name 19 "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;"
291 Name 68 "flattenTemp"
296 MemberName 76(VI) 0 "m"
297 MemberName 76(VI) 1 "coord"
298 MemberName 76(VI) 2 "b"
299 Name 78 "@entryPointOutput"
300 Decorate 48(d) Location 0
301 Decorate 51(m[0]) Location 1
302 Decorate 54(m[1]) Location 2
303 Decorate 58(coord) Location 3
304 Decorate 62(b) Location 4
305 Decorate 66(e) Location 5
306 Decorate 78(@entryPointOutput) BuiltIn Position
310 7: TypeVector 6(float) 4
311 8: TypePointer Function 7(fvec4)
313 10: 9(int) Constant 2
314 11: TypeArray 7(fvec4) 10
315 12: TypeVector 9(int) 2
316 13(VI): TypeStruct 11 12(ivec2) 7(fvec4)
317 14: TypePointer Function 13(VI)
318 15: TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr)
320 23: 22(int) Constant 2
321 24: 22(int) Constant 0
322 25: 22(int) Constant 1
323 31: 9(int) Constant 0
324 32: TypePointer Function 9(int)
325 47: TypePointer Input 7(fvec4)
326 48(d): 47(ptr) Variable Input
327 51(m[0]): 47(ptr) Variable Input
328 54(m[1]): 47(ptr) Variable Input
329 57: TypePointer Input 12(ivec2)
330 58(coord): 57(ptr) Variable Input
331 60: TypePointer Function 12(ivec2)
332 62(b): 47(ptr) Variable Input
333 66(e): 47(ptr) Variable Input
334 76(VI): TypeStruct 11 12(ivec2) 7(fvec4)
335 77: TypePointer Output 76(VI)
336 78(@entryPointOutput): 77(ptr) Variable Output
337 79: TypePointer Function 11
338 82: TypePointer Output 11
339 86: TypePointer Output 12(ivec2)
340 90: TypePointer Output 7(fvec4)
341 4(main): 2 Function None 3
343 46(d): 8(ptr) Variable Function
344 50(vi): 14(ptr) Variable Function
345 65(e): 8(ptr) Variable Function
346 68(flattenTemp): 14(ptr) Variable Function
347 69(param): 8(ptr) Variable Function
348 71(param): 14(ptr) Variable Function
349 73(param): 8(ptr) Variable Function
350 49: 7(fvec4) Load 48(d)
352 52: 7(fvec4) Load 51(m[0])
353 53: 8(ptr) AccessChain 50(vi) 24 24
355 55: 7(fvec4) Load 54(m[1])
356 56: 8(ptr) AccessChain 50(vi) 24 25
358 59: 12(ivec2) Load 58(coord)
359 61: 60(ptr) AccessChain 50(vi) 25
361 63: 7(fvec4) Load 62(b)
362 64: 8(ptr) AccessChain 50(vi) 23
364 67: 7(fvec4) Load 66(e)
366 70: 7(fvec4) Load 46(d)
368 72: 13(VI) Load 50(vi)
370 74: 7(fvec4) Load 65(e)
372 75: 13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param)
373 Store 68(flattenTemp) 75
374 80: 79(ptr) AccessChain 68(flattenTemp) 24
376 83: 82(ptr) AccessChain 78(@entryPointOutput) 24
378 84: 60(ptr) AccessChain 68(flattenTemp) 25
379 85: 12(ivec2) Load 84
380 87: 86(ptr) AccessChain 78(@entryPointOutput) 25
382 88: 8(ptr) AccessChain 68(flattenTemp) 23
384 91: 90(ptr) AccessChain 78(@entryPointOutput) 23
388 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;): 13(VI) Function None 15
389 16(d): 8(ptr) FunctionParameter
390 17(vi): 14(ptr) FunctionParameter
391 18(e): 8(ptr) FunctionParameter
393 21(local): 14(ptr) Variable Function
394 26: 8(ptr) AccessChain 17(vi) 24 25
396 28: 8(ptr) AccessChain 17(vi) 24 24
398 30: 7(fvec4) FAdd 27 29
399 33: 32(ptr) AccessChain 17(vi) 25 31
401 35: 6(float) ConvertUToF 34
402 36: 7(fvec4) CompositeConstruct 35 35 35 35
403 37: 7(fvec4) FAdd 30 36
404 38: 7(fvec4) Load 16(d)
405 39: 7(fvec4) FAdd 37 38
406 40: 7(fvec4) Load 18(e)
407 41: 7(fvec4) FAdd 39 40
408 42: 8(ptr) AccessChain 21(local) 23
410 43: 13(VI) Load 21(local)