1hlsl.struct.split-1.vert
2Shader version: 500
30:? Sequence
40:17  Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
50:17    Function Parameters:
60:17      'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
70:17      'Pos_loose' ( in 4-component vector of float)
80:?     Sequence
90:20      move second child to first child ( temp int)
100:20        x0_out: direct index for structure ( temp int)
110:20          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
120:20          Constant:
130:20            0 (const int)
140:20        x0_in: direct index for structure ( temp int)
150:20          'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
160:20          Constant:
170:20            0 (const int)
180:21      move second child to first child ( temp 4-component vector of float)
190:21        Pos_out: direct index for structure ( temp 4-component vector of float)
200:21          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
210:21          Constant:
220:21            1 (const int)
230:21        add ( temp 4-component vector of float)
240:21          Pos_in: direct index for structure ( temp 4-component vector of float)
250:21            'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
260:21            Constant:
270:21              1 (const int)
280:21          'Pos_loose' ( in 4-component vector of float)
290:22      move second child to first child ( temp int)
300:22        x1_out: direct index for structure ( temp int)
310:22          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
320:22          Constant:
330:22            2 (const int)
340:22        x1_in: direct index for structure ( temp int)
350:22          'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
360:22          Constant:
370:22            2 (const int)
380:24      Branch: Return with expression
390:24        'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
400:17  Function Definition: main( ( temp void)
410:17    Function Parameters:
420:?     Sequence
430:17      Sequence
440:17        move second child to first child ( temp int)
450:17          x0_in: direct index for structure ( temp int)
460:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
470:17            Constant:
480:17              0 (const int)
490:?           'vsin.x0_in' (layout( location=0) in int)
500:17        move second child to first child ( temp 4-component vector of float)
510:17          Pos_in: direct index for structure ( temp 4-component vector of float)
520:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
530:17            Constant:
540:17              1 (const int)
550:?           'vsin.Pos_in' (layout( location=1) in 4-component vector of float)
560:17        move second child to first child ( temp int)
570:17          x1_in: direct index for structure ( temp int)
580:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
590:17            Constant:
600:17              2 (const int)
610:?           'vsin.x1_in' (layout( location=2) in int)
620:17      move second child to first child ( temp 4-component vector of float)
630:?         'Pos_loose' ( temp 4-component vector of float)
640:?         'Pos_loose' (layout( location=3) in 4-component vector of float)
650:17      Sequence
660:17        move second child to first child ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
670:17          'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
680:17          Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
690:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
700:?             'Pos_loose' ( temp 4-component vector of float)
710:17        move second child to first child ( temp int)
720:?           '@entryPointOutput.x0_out' (layout( location=0) out int)
730:17          x0_out: direct index for structure ( temp int)
740:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
750:17            Constant:
760:17              0 (const int)
770:17        move second child to first child ( temp 4-component vector of float)
780:?           '@entryPointOutput.Pos_out' ( out 4-component vector of float Position)
790:17          Pos_out: direct index for structure ( temp 4-component vector of float)
800:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
810:17            Constant:
820:17              1 (const int)
830:17        move second child to first child ( temp int)
840:?           '@entryPointOutput.x1_out' (layout( location=1) out int)
850:17          x1_out: direct index for structure ( temp int)
860:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
870:17            Constant:
880:17              2 (const int)
890:?   Linker Objects
900:?     '@entryPointOutput.Pos_out' ( out 4-component vector of float Position)
910:?     '@entryPointOutput.x0_out' (layout( location=0) out int)
920:?     '@entryPointOutput.x1_out' (layout( location=1) out int)
930:?     'vsin.x0_in' (layout( location=0) in int)
940:?     'vsin.Pos_in' (layout( location=1) in 4-component vector of float)
950:?     'vsin.x1_in' (layout( location=2) in int)
960:?     'Pos_loose' (layout( location=3) in 4-component vector of float)
97
98
99Linked vertex stage:
100
101
102Shader version: 500
1030:? Sequence
1040:17  Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1050:17    Function Parameters:
1060:17      'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1070:17      'Pos_loose' ( in 4-component vector of float)
1080:?     Sequence
1090:20      move second child to first child ( temp int)
1100:20        x0_out: direct index for structure ( temp int)
1110:20          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1120:20          Constant:
1130:20            0 (const int)
1140:20        x0_in: direct index for structure ( temp int)
1150:20          'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1160:20          Constant:
1170:20            0 (const int)
1180:21      move second child to first child ( temp 4-component vector of float)
1190:21        Pos_out: direct index for structure ( temp 4-component vector of float)
1200:21          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1210:21          Constant:
1220:21            1 (const int)
1230:21        add ( temp 4-component vector of float)
1240:21          Pos_in: direct index for structure ( temp 4-component vector of float)
1250:21            'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1260:21            Constant:
1270:21              1 (const int)
1280:21          'Pos_loose' ( in 4-component vector of float)
1290:22      move second child to first child ( temp int)
1300:22        x1_out: direct index for structure ( temp int)
1310:22          'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1320:22          Constant:
1330:22            2 (const int)
1340:22        x1_in: direct index for structure ( temp int)
1350:22          'vsin' ( in structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1360:22          Constant:
1370:22            2 (const int)
1380:24      Branch: Return with expression
1390:24        'vsout' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1400:17  Function Definition: main( ( temp void)
1410:17    Function Parameters:
1420:?     Sequence
1430:17      Sequence
1440:17        move second child to first child ( temp int)
1450:17          x0_in: direct index for structure ( temp int)
1460:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1470:17            Constant:
1480:17              0 (const int)
1490:?           'vsin.x0_in' (layout( location=0) in int)
1500:17        move second child to first child ( temp 4-component vector of float)
1510:17          Pos_in: direct index for structure ( temp 4-component vector of float)
1520:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1530:17            Constant:
1540:17              1 (const int)
1550:?           'vsin.Pos_in' (layout( location=1) in 4-component vector of float)
1560:17        move second child to first child ( temp int)
1570:17          x1_in: direct index for structure ( temp int)
1580:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1590:17            Constant:
1600:17              2 (const int)
1610:?           'vsin.x1_in' (layout( location=2) in int)
1620:17      move second child to first child ( temp 4-component vector of float)
1630:?         'Pos_loose' ( temp 4-component vector of float)
1640:?         'Pos_loose' (layout( location=3) in 4-component vector of float)
1650:17      Sequence
1660:17        move second child to first child ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1670:17          'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1680:17          Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1690:?             'vsin' ( temp structure{ temp int x0_in,  temp 4-component vector of float Pos_in,  temp int x1_in})
1700:?             'Pos_loose' ( temp 4-component vector of float)
1710:17        move second child to first child ( temp int)
1720:?           '@entryPointOutput.x0_out' (layout( location=0) out int)
1730:17          x0_out: direct index for structure ( temp int)
1740:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1750:17            Constant:
1760:17              0 (const int)
1770:17        move second child to first child ( temp 4-component vector of float)
1780:?           '@entryPointOutput.Pos_out' ( out 4-component vector of float Position)
1790:17          Pos_out: direct index for structure ( temp 4-component vector of float)
1800:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1810:17            Constant:
1820:17              1 (const int)
1830:17        move second child to first child ( temp int)
1840:?           '@entryPointOutput.x1_out' (layout( location=1) out int)
1850:17          x1_out: direct index for structure ( temp int)
1860:17            'flattenTemp' ( temp structure{ temp int x0_out,  temp 4-component vector of float Pos_out,  temp int x1_out})
1870:17            Constant:
1880:17              2 (const int)
1890:?   Linker Objects
1900:?     '@entryPointOutput.Pos_out' ( out 4-component vector of float Position)
1910:?     '@entryPointOutput.x0_out' (layout( location=0) out int)
1920:?     '@entryPointOutput.x1_out' (layout( location=1) out int)
1930:?     'vsin.x0_in' (layout( location=0) in int)
1940:?     'vsin.Pos_in' (layout( location=1) in 4-component vector of float)
1950:?     'vsin.x1_in' (layout( location=2) in int)
1960:?     'Pos_loose' (layout( location=3) in 4-component vector of float)
197
198// Module Version 10000
199// Generated by (magic number): 80007
200// Id's are bound by 70
201
202                              Capability Shader
203               1:             ExtInstImport  "GLSL.std.450"
204                              MemoryModel Logical GLSL450
205                              EntryPoint Vertex 4  "main" 40 44 47 51 60 64 67
206                              Source HLSL 500
207                              Name 4  "main"
208                              Name 9  "VS_INPUT"
209                              MemberName 9(VS_INPUT) 0  "x0_in"
210                              MemberName 9(VS_INPUT) 1  "Pos_in"
211                              MemberName 9(VS_INPUT) 2  "x1_in"
212                              Name 12  "VS_OUTPUT"
213                              MemberName 12(VS_OUTPUT) 0  "x0_out"
214                              MemberName 12(VS_OUTPUT) 1  "Pos_out"
215                              MemberName 12(VS_OUTPUT) 2  "x1_out"
216                              Name 16  "@main(struct-VS_INPUT-i1-vf4-i11;vf4;"
217                              Name 14  "vsin"
218                              Name 15  "Pos_loose"
219                              Name 19  "vsout"
220                              Name 38  "vsin"
221                              Name 40  "vsin.x0_in"
222                              Name 44  "vsin.Pos_in"
223                              Name 47  "vsin.x1_in"
224                              Name 50  "Pos_loose"
225                              Name 51  "Pos_loose"
226                              Name 53  "flattenTemp"
227                              Name 54  "param"
228                              Name 56  "param"
229                              Name 60  "@entryPointOutput.x0_out"
230                              Name 64  "@entryPointOutput.Pos_out"
231                              Name 67  "@entryPointOutput.x1_out"
232                              Decorate 40(vsin.x0_in) Location 0
233                              Decorate 44(vsin.Pos_in) Location 1
234                              Decorate 47(vsin.x1_in) Location 2
235                              Decorate 51(Pos_loose) Location 3
236                              Decorate 60(@entryPointOutput.x0_out) Location 0
237                              Decorate 64(@entryPointOutput.Pos_out) BuiltIn Position
238                              Decorate 67(@entryPointOutput.x1_out) Location 1
239               2:             TypeVoid
240               3:             TypeFunction 2
241               6:             TypeInt 32 1
242               7:             TypeFloat 32
243               8:             TypeVector 7(float) 4
244     9(VS_INPUT):             TypeStruct 6(int) 8(fvec4) 6(int)
245              10:             TypePointer Function 9(VS_INPUT)
246              11:             TypePointer Function 8(fvec4)
247   12(VS_OUTPUT):             TypeStruct 6(int) 8(fvec4) 6(int)
248              13:             TypeFunction 12(VS_OUTPUT) 10(ptr) 11(ptr)
249              18:             TypePointer Function 12(VS_OUTPUT)
250              20:      6(int) Constant 0
251              21:             TypePointer Function 6(int)
252              25:      6(int) Constant 1
253              31:      6(int) Constant 2
254              39:             TypePointer Input 6(int)
255  40(vsin.x0_in):     39(ptr) Variable Input
256              43:             TypePointer Input 8(fvec4)
257 44(vsin.Pos_in):     43(ptr) Variable Input
258  47(vsin.x1_in):     39(ptr) Variable Input
259   51(Pos_loose):     43(ptr) Variable Input
260              59:             TypePointer Output 6(int)
26160(@entryPointOutput.x0_out):     59(ptr) Variable Output
262              63:             TypePointer Output 8(fvec4)
26364(@entryPointOutput.Pos_out):     63(ptr) Variable Output
26467(@entryPointOutput.x1_out):     59(ptr) Variable Output
265         4(main):           2 Function None 3
266               5:             Label
267        38(vsin):     10(ptr) Variable Function
268   50(Pos_loose):     11(ptr) Variable Function
269 53(flattenTemp):     18(ptr) Variable Function
270       54(param):     10(ptr) Variable Function
271       56(param):     11(ptr) Variable Function
272              41:      6(int) Load 40(vsin.x0_in)
273              42:     21(ptr) AccessChain 38(vsin) 20
274                              Store 42 41
275              45:    8(fvec4) Load 44(vsin.Pos_in)
276              46:     11(ptr) AccessChain 38(vsin) 25
277                              Store 46 45
278              48:      6(int) Load 47(vsin.x1_in)
279              49:     21(ptr) AccessChain 38(vsin) 31
280                              Store 49 48
281              52:    8(fvec4) Load 51(Pos_loose)
282                              Store 50(Pos_loose) 52
283              55: 9(VS_INPUT) Load 38(vsin)
284                              Store 54(param) 55
285              57:    8(fvec4) Load 50(Pos_loose)
286                              Store 56(param) 57
287              58:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 54(param) 56(param)
288                              Store 53(flattenTemp) 58
289              61:     21(ptr) AccessChain 53(flattenTemp) 20
290              62:      6(int) Load 61
291                              Store 60(@entryPointOutput.x0_out) 62
292              65:     11(ptr) AccessChain 53(flattenTemp) 25
293              66:    8(fvec4) Load 65
294                              Store 64(@entryPointOutput.Pos_out) 66
295              68:     21(ptr) AccessChain 53(flattenTemp) 31
296              69:      6(int) Load 68
297                              Store 67(@entryPointOutput.x1_out) 69
298                              Return
299                              FunctionEnd
30016(@main(struct-VS_INPUT-i1-vf4-i11;vf4;):12(VS_OUTPUT) Function None 13
301        14(vsin):     10(ptr) FunctionParameter
302   15(Pos_loose):     11(ptr) FunctionParameter
303              17:             Label
304       19(vsout):     18(ptr) Variable Function
305              22:     21(ptr) AccessChain 14(vsin) 20
306              23:      6(int) Load 22
307              24:     21(ptr) AccessChain 19(vsout) 20
308                              Store 24 23
309              26:     11(ptr) AccessChain 14(vsin) 25
310              27:    8(fvec4) Load 26
311              28:    8(fvec4) Load 15(Pos_loose)
312              29:    8(fvec4) FAdd 27 28
313              30:     11(ptr) AccessChain 19(vsout) 25
314                              Store 30 29
315              32:     21(ptr) AccessChain 14(vsin) 31
316              33:      6(int) Load 32
317              34:     21(ptr) AccessChain 19(vsout) 31
318                              Store 34 33
319              35:12(VS_OUTPUT) Load 19(vsout)
320                              ReturnValue 35
321                              FunctionEnd
322