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