1 hlsl.struct.split.nested.geom
5 input primitive = triangles
6 output primitive = triangle_strip
8 0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
9 0:24 Function Parameters:
10 0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
11 0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
13 0:27 move second child to first child ( temp 4-component vector of float)
14 0:27 pos: direct index for structure ( temp 4-component vector of float)
15 0:27 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
16 0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
26 0:28 move second child to first child ( temp 2-component vector of float)
27 0:28 tc: direct index for structure ( temp 2-component vector of float)
28 0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
29 0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
39 0:30 move second child to first child ( temp 4-component vector of float)
40 0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
41 0:30 pos: direct index for structure ( temp 4-component vector of float)
42 0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
43 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
48 0:30 move second child to first child ( temp 2-component vector of float)
49 0:30 tc: direct index for structure ( temp 2-component vector of float)
50 0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
51 0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
56 0:30 tc: direct index for structure ( temp 2-component vector of float)
57 0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
58 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
63 0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
64 0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
65 0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
68 0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
69 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
72 0:30 EmitVertex ( temp void)
73 0:24 Function Definition: main( ( temp void)
74 0:24 Function Parameters:
77 0:24 move second child to first child ( temp 4-component vector of float)
78 0:24 pos: direct index for structure ( temp 4-component vector of float)
79 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
80 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
85 0:24 direct index ( in 4-component vector of float Position)
86 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
89 0:24 move second child to first child ( temp 2-component vector of float)
90 0:24 tc: direct index for structure ( temp 2-component vector of float)
91 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
92 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
97 0:24 tc: direct index for structure ( temp 2-component vector of float)
98 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
99 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
104 0:24 move second child to first child ( temp 4-component vector of float)
105 0:24 pos: direct index for structure ( temp 4-component vector of float)
106 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
107 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
112 0:24 direct index ( in 4-component vector of float Position)
113 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
116 0:24 move second child to first child ( temp 2-component vector of float)
117 0:24 tc: direct index for structure ( temp 2-component vector of float)
118 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
119 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
124 0:24 tc: direct index for structure ( temp 2-component vector of float)
125 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
126 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
131 0:24 move second child to first child ( temp 4-component vector of float)
132 0:24 pos: direct index for structure ( temp 4-component vector of float)
133 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
134 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
139 0:24 direct index ( in 4-component vector of float Position)
140 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
143 0:24 move second child to first child ( temp 2-component vector of float)
144 0:24 tc: direct index for structure ( temp 2-component vector of float)
145 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
146 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
151 0:24 tc: direct index for structure ( temp 2-component vector of float)
152 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
153 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
158 0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
159 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
160 0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
162 0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
163 0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
166 Linked geometry stage:
172 input primitive = triangles
173 output primitive = triangle_strip
175 0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
176 0:24 Function Parameters:
177 0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
178 0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
180 0:27 move second child to first child ( temp 4-component vector of float)
181 0:27 pos: direct index for structure ( temp 4-component vector of float)
182 0:27 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
183 0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
193 0:28 move second child to first child ( temp 2-component vector of float)
194 0:28 tc: direct index for structure ( temp 2-component vector of float)
195 0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
196 0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
206 0:30 move second child to first child ( temp 4-component vector of float)
207 0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
208 0:30 pos: direct index for structure ( temp 4-component vector of float)
209 0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
210 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
215 0:30 move second child to first child ( temp 2-component vector of float)
216 0:30 tc: direct index for structure ( temp 2-component vector of float)
217 0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
218 0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
223 0:30 tc: direct index for structure ( temp 2-component vector of float)
224 0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
225 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
230 0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
231 0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
232 0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
235 0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
236 0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
239 0:30 EmitVertex ( temp void)
240 0:24 Function Definition: main( ( temp void)
241 0:24 Function Parameters:
244 0:24 move second child to first child ( temp 4-component vector of float)
245 0:24 pos: direct index for structure ( temp 4-component vector of float)
246 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
247 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
252 0:24 direct index ( in 4-component vector of float Position)
253 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
256 0:24 move second child to first child ( temp 2-component vector of float)
257 0:24 tc: direct index for structure ( temp 2-component vector of float)
258 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
259 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
264 0:24 tc: direct index for structure ( temp 2-component vector of float)
265 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
266 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
271 0:24 move second child to first child ( temp 4-component vector of float)
272 0:24 pos: direct index for structure ( temp 4-component vector of float)
273 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
274 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
279 0:24 direct index ( in 4-component vector of float Position)
280 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
283 0:24 move second child to first child ( temp 2-component vector of float)
284 0:24 tc: direct index for structure ( temp 2-component vector of float)
285 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
286 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
291 0:24 tc: direct index for structure ( temp 2-component vector of float)
292 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
293 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
298 0:24 move second child to first child ( temp 4-component vector of float)
299 0:24 pos: direct index for structure ( temp 4-component vector of float)
300 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
301 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
306 0:24 direct index ( in 4-component vector of float Position)
307 0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position)
310 0:24 move second child to first child ( temp 2-component vector of float)
311 0:24 tc: direct index for structure ( temp 2-component vector of float)
312 0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
313 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
318 0:24 tc: direct index for structure ( temp 2-component vector of float)
319 0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc})
320 0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
325 0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void)
326 0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
327 0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
329 0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc})
330 0:? 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
332 // Module Version 10000
333 // Generated by (magic number): 80001
334 // Id's are bound by 99
337 1: ExtInstImport "GLSL.std.450"
338 MemoryModel Logical GLSL450
339 EntryPoint Geometry 4 "main" 41 48 67 75
340 ExecutionMode 4 Triangles
341 ExecutionMode 4 Invocations 1
342 ExecutionMode 4 OutputTriangleStrip
343 ExecutionMode 4 OutputVertices 3
346 MemberName 9(PS_IN) 0 "pos"
347 MemberName 9(PS_IN) 1 "tc"
348 Name 17 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
349 MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
350 MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
352 MemberName 18(GS_OUT) 0 "psIn"
353 MemberName 18(GS_OUT) 1 "contains_no_builtin_io"
354 Name 23 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;"
358 Name 41 "ts_psIn_pos"
360 MemberName 44(PS_IN) 0 "tc"
361 Name 45 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
362 MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
363 MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
365 MemberName 46(GS_OUT) 0 "psIn"
366 MemberName 46(GS_OUT) 1 "contains_no_builtin_io"
371 MemberName 72(PS_IN) 0 "tc"
376 Decorate 41(ts_psIn_pos) BuiltIn Position
377 Decorate 48(ts) Location 0
378 Decorate 67(tin_pos) BuiltIn Position
379 Decorate 75(tin) Location 0
383 7: TypeVector 6(float) 4
384 8: TypeVector 6(float) 2
385 9(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
387 11: 10(int) Constant 3
388 12: TypeArray 9(PS_IN) 11
389 13: TypePointer Function 12
390 14: 10(int) Constant 2
391 15: TypeArray 6(float) 14
393 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
394 18(GS_OUT): TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
395 19: TypePointer Function 18(GS_OUT)
396 20: TypeFunction 2 13(ptr) 19(ptr)
397 26: 16(int) Constant 0
398 27: 6(float) Constant 1065353216
399 28: 6(float) Constant 1073741824
400 29: 6(float) Constant 1077936128
401 30: 6(float) Constant 1082130432
402 31: 7(fvec4) ConstantComposite 27 28 29 30
403 32: TypePointer Function 7(fvec4)
404 34: 16(int) Constant 1
405 35: 6(float) Constant 1084227584
406 36: 6(float) Constant 1086324736
407 37: 8(fvec2) ConstantComposite 35 36
408 38: TypePointer Function 8(fvec2)
409 40: TypePointer Output 7(fvec4)
410 41(ts_psIn_pos): 40(ptr) Variable Output
411 44(PS_IN): TypeStruct 8(fvec2)
412 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
413 46(GS_OUT): TypeStruct 44(PS_IN) 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
414 47: TypePointer Output 46(GS_OUT)
415 48(ts): 47(ptr) Variable Output
416 51: TypePointer Output 8(fvec2)
417 53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
418 56: TypePointer Output 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
419 59: TypePointer Output 15
420 62: TypePointer Output 16(int)
421 65: TypeArray 7(fvec4) 11
422 66: TypePointer Input 65
423 67(tin_pos): 66(ptr) Variable Input
424 68: TypePointer Input 7(fvec4)
425 72(PS_IN): TypeStruct 8(fvec2)
426 73: TypeArray 72(PS_IN) 11
427 74: TypePointer Input 73
428 75(tin): 74(ptr) Variable Input
429 76: TypePointer Input 8(fvec2)
430 86: 16(int) Constant 2
431 4(main): 2 Function None 3
433 64(tin): 13(ptr) Variable Function
434 93(ts): 19(ptr) Variable Function
435 94(param): 13(ptr) Variable Function
436 96(param): 19(ptr) Variable Function
437 69: 68(ptr) AccessChain 67(tin_pos) 26
439 71: 32(ptr) AccessChain 64(tin) 26 26
441 77: 76(ptr) AccessChain 75(tin) 26 26
443 79: 38(ptr) AccessChain 64(tin) 26 34
445 80: 68(ptr) AccessChain 67(tin_pos) 34
447 82: 32(ptr) AccessChain 64(tin) 34 26
449 83: 76(ptr) AccessChain 75(tin) 34 26
451 85: 38(ptr) AccessChain 64(tin) 34 34
453 87: 68(ptr) AccessChain 67(tin_pos) 86
455 89: 32(ptr) AccessChain 64(tin) 86 26
457 90: 76(ptr) AccessChain 75(tin) 86 26
459 92: 38(ptr) AccessChain 64(tin) 86 34
463 97: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 94(param) 96(param)
464 98: 18(GS_OUT) Load 96(param)
468 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20
469 21(tin): 13(ptr) FunctionParameter
470 22(ts): 19(ptr) FunctionParameter
472 25(o): 19(ptr) Variable Function
473 33: 32(ptr) AccessChain 25(o) 26 26
475 39: 38(ptr) AccessChain 25(o) 26 34
477 42: 32(ptr) AccessChain 25(o) 26 26
479 Store 41(ts_psIn_pos) 43
480 49: 38(ptr) AccessChain 25(o) 26 34
482 52: 51(ptr) AccessChain 48(ts) 26 26
484 54: 53(ptr) AccessChain 25(o) 34
485 55:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 54
486 57: 56(ptr) AccessChain 48(ts) 34
487 58: 15 CompositeExtract 55 0
488 60: 59(ptr) AccessChain 57 26
490 61: 16(int) CompositeExtract 55 1
491 63: 62(ptr) AccessChain 57 34