1hlsl.structarray.flatten.geom
2Shader version: 500
3invocations = -1
4max_vertices = 4
5input primitive = lines
6output primitive = triangle_strip
70:? Sequence
80:16  Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
90:16    Function Parameters:
100:16      'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
110:16      'outStream' ( out structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
120:?     Sequence
130:19      move second child to first child ( temp 4-component vector of float)
140:19        color: direct index for structure ( temp 4-component vector of float)
150:19          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
160:19          Constant:
170:19            1 (const int)
180:19        color: direct index for structure ( temp 4-component vector of float)
190:19          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
200:19            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
210:19            Constant:
220:19              1 (const int)
230:19          Constant:
240:19            1 (const int)
250:20      move second child to first child ( temp 2-component vector of float)
260:20        uv: direct index for structure ( temp 2-component vector of float)
270:20          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
280:20          Constant:
290:20            2 (const int)
300:20        uv: direct index for structure ( temp 2-component vector of float)
310:20          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
320:20            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
330:20            Constant:
340:20              1 (const int)
350:20          Constant:
360:20            2 (const int)
370:21      move second child to first child ( temp 4-component vector of float)
380:21        position: direct index for structure ( temp 4-component vector of float)
390:21          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
400:21          Constant:
410:21            0 (const int)
420:21        position: direct index for structure ( temp 4-component vector of float)
430:21          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
440:21            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
450:21            Constant:
460:21              1 (const int)
470:21          Constant:
480:21            0 (const int)
490:22      Sequence
500:22        Sequence
510:22          move second child to first child ( temp 4-component vector of float)
520:?             'outStream.position' ( out 4-component vector of float Position)
530:22            position: direct index for structure ( temp 4-component vector of float)
540:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
550:22              Constant:
560:22                0 (const int)
570:22          move second child to first child ( temp 4-component vector of float)
580:?             'outStream.color' (layout( location=0) out 4-component vector of float)
590:22            color: direct index for structure ( temp 4-component vector of float)
600:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
610:22              Constant:
620:22                1 (const int)
630:22          move second child to first child ( temp 2-component vector of float)
640:?             'outStream.uv' (layout( location=1) out 2-component vector of float)
650:22            uv: direct index for structure ( temp 2-component vector of float)
660:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
670:22              Constant:
680:22                2 (const int)
690:22        EmitVertex ( temp void)
700:16  Function Definition: main( ( temp void)
710:16    Function Parameters:
720:?     Sequence
730:16      move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
740:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
750:?         'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
760:16      Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
770:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
780:?         'outStream' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
790:?   Linker Objects
800:?     'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
810:?     'outStream.position' ( out 4-component vector of float Position)
820:?     'outStream.color' (layout( location=0) out 4-component vector of float)
830:?     'outStream.uv' (layout( location=1) out 2-component vector of float)
84
85
86Linked geometry stage:
87
88
89Shader version: 500
90invocations = 1
91max_vertices = 4
92input primitive = lines
93output primitive = triangle_strip
940:? Sequence
950:16  Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
960:16    Function Parameters:
970:16      'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
980:16      'outStream' ( out structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
990:?     Sequence
1000:19      move second child to first child ( temp 4-component vector of float)
1010:19        color: direct index for structure ( temp 4-component vector of float)
1020:19          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1030:19          Constant:
1040:19            1 (const int)
1050:19        color: direct index for structure ( temp 4-component vector of float)
1060:19          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1070:19            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1080:19            Constant:
1090:19              1 (const int)
1100:19          Constant:
1110:19            1 (const int)
1120:20      move second child to first child ( temp 2-component vector of float)
1130:20        uv: direct index for structure ( temp 2-component vector of float)
1140:20          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1150:20          Constant:
1160:20            2 (const int)
1170:20        uv: direct index for structure ( temp 2-component vector of float)
1180:20          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1190:20            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1200:20            Constant:
1210:20              1 (const int)
1220:20          Constant:
1230:20            2 (const int)
1240:21      move second child to first child ( temp 4-component vector of float)
1250:21        position: direct index for structure ( temp 4-component vector of float)
1260:21          'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1270:21          Constant:
1280:21            0 (const int)
1290:21        position: direct index for structure ( temp 4-component vector of float)
1300:21          direct index ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1310:21            'vin' ( in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1320:21            Constant:
1330:21              1 (const int)
1340:21          Constant:
1350:21            0 (const int)
1360:22      Sequence
1370:22        Sequence
1380:22          move second child to first child ( temp 4-component vector of float)
1390:?             'outStream.position' ( out 4-component vector of float Position)
1400:22            position: direct index for structure ( temp 4-component vector of float)
1410:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1420:22              Constant:
1430:22                0 (const int)
1440:22          move second child to first child ( temp 4-component vector of float)
1450:?             'outStream.color' (layout( location=0) out 4-component vector of float)
1460:22            color: direct index for structure ( temp 4-component vector of float)
1470:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1480:22              Constant:
1490:22                1 (const int)
1500:22          move second child to first child ( temp 2-component vector of float)
1510:?             'outStream.uv' (layout( location=1) out 2-component vector of float)
1520:22            uv: direct index for structure ( temp 2-component vector of float)
1530:22              'vout' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1540:22              Constant:
1550:22                2 (const int)
1560:22        EmitVertex ( temp void)
1570:16  Function Definition: main( ( temp void)
1580:16    Function Parameters:
1590:?     Sequence
1600:16      move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1610:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1620:?         'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1630:16      Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
1640:?         'vin' ( temp 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1650:?         'outStream' ( temp structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1660:?   Linker Objects
1670:?     'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position,  temp 4-component vector of float color,  temp 2-component vector of float uv})
1680:?     'outStream.position' ( out 4-component vector of float Position)
1690:?     'outStream.color' (layout( location=0) out 4-component vector of float)
1700:?     'outStream.uv' (layout( location=1) out 2-component vector of float)
171
172// Module Version 10000
173// Generated by (magic number): 80007
174// Id's are bound by 58
175
176                              Capability Geometry
177               1:             ExtInstImport  "GLSL.std.450"
178                              MemoryModel Logical GLSL450
179                              EntryPoint Geometry 4  "main" 38 41 45 50
180                              ExecutionMode 4 InputLines
181                              ExecutionMode 4 Invocations 1
182                              ExecutionMode 4 OutputTriangleStrip
183                              ExecutionMode 4 OutputVertices 4
184                              Source HLSL 500
185                              Name 4  "main"
186                              Name 9  "VertexData"
187                              MemberName 9(VertexData) 0  "position"
188                              MemberName 9(VertexData) 1  "color"
189                              MemberName 9(VertexData) 2  "uv"
190                              Name 14  "PS_IN"
191                              MemberName 14(PS_IN) 0  "position"
192                              MemberName 14(PS_IN) 1  "color"
193                              MemberName 14(PS_IN) 2  "uv"
194                              Name 19  "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
195                              Name 17  "vin"
196                              Name 18  "outStream"
197                              Name 21  "vout"
198                              Name 38  "outStream.position"
199                              Name 41  "outStream.color"
200                              Name 45  "outStream.uv"
201                              Name 48  "vin"
202                              Name 50  "vin"
203                              Name 52  "outStream"
204                              Name 53  "param"
205                              Name 55  "param"
206                              Decorate 38(outStream.position) BuiltIn Position
207                              Decorate 41(outStream.color) Location 0
208                              Decorate 45(outStream.uv) Location 1
209                              Decorate 50(vin) Location 0
210               2:             TypeVoid
211               3:             TypeFunction 2
212               6:             TypeFloat 32
213               7:             TypeVector 6(float) 4
214               8:             TypeVector 6(float) 2
215   9(VertexData):             TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
216              10:             TypeInt 32 0
217              11:     10(int) Constant 2
218              12:             TypeArray 9(VertexData) 11
219              13:             TypePointer Function 12
220       14(PS_IN):             TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
221              15:             TypePointer Function 14(PS_IN)
222              16:             TypeFunction 2 13(ptr) 15(ptr)
223              22:             TypeInt 32 1
224              23:     22(int) Constant 1
225              24:             TypePointer Function 7(fvec4)
226              28:     22(int) Constant 2
227              29:             TypePointer Function 8(fvec2)
228              33:     22(int) Constant 0
229              37:             TypePointer Output 7(fvec4)
23038(outStream.position):     37(ptr) Variable Output
23141(outStream.color):     37(ptr) Variable Output
232              44:             TypePointer Output 8(fvec2)
23345(outStream.uv):     44(ptr) Variable Output
234              49:             TypePointer Input 12
235         50(vin):     49(ptr) Variable Input
236         4(main):           2 Function None 3
237               5:             Label
238         48(vin):     13(ptr) Variable Function
239   52(outStream):     15(ptr) Variable Function
240       53(param):     13(ptr) Variable Function
241       55(param):     15(ptr) Variable Function
242              51:          12 Load 50(vin)
243                              Store 48(vin) 51
244              54:          12 Load 48(vin)
245                              Store 53(param) 54
246              56:           2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 53(param) 55(param)
247              57:   14(PS_IN) Load 55(param)
248                              Store 52(outStream) 57
249                              Return
250                              FunctionEnd
25119(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;):           2 Function None 16
252         17(vin):     13(ptr) FunctionParameter
253   18(outStream):     15(ptr) FunctionParameter
254              20:             Label
255        21(vout):     15(ptr) Variable Function
256              25:     24(ptr) AccessChain 17(vin) 23 23
257              26:    7(fvec4) Load 25
258              27:     24(ptr) AccessChain 21(vout) 23
259                              Store 27 26
260              30:     29(ptr) AccessChain 17(vin) 23 28
261              31:    8(fvec2) Load 30
262              32:     29(ptr) AccessChain 21(vout) 28
263                              Store 32 31
264              34:     24(ptr) AccessChain 17(vin) 23 33
265              35:    7(fvec4) Load 34
266              36:     24(ptr) AccessChain 21(vout) 33
267                              Store 36 35
268              39:     24(ptr) AccessChain 21(vout) 33
269              40:    7(fvec4) Load 39
270                              Store 38(outStream.position) 40
271              42:     24(ptr) AccessChain 21(vout) 23
272              43:    7(fvec4) Load 42
273                              Store 41(outStream.color) 43
274              46:     29(ptr) AccessChain 21(vout) 28
275              47:    8(fvec2) Load 46
276                              Store 45(outStream.uv) 47
277                              EmitVertex
278                              Return
279                              FunctionEnd
280