1hlsl.struct.split.trivial.vert
2Shader version: 500
30:? Sequence
40:16  Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos})
50:16    Function Parameters:
60:16      'vsin' ( in structure{ temp 4-component vector of float Pos_in})
70:16      'Pos_loose' ( in 4-component vector of float)
80:?     Sequence
90:19      move second child to first child ( temp 4-component vector of float)
100:19        Pos: direct index for structure ( temp 4-component vector of float)
110:19          'vsout' ( temp structure{ temp 4-component vector of float Pos})
120:19          Constant:
130:19            0 (const int)
140:19        add ( temp 4-component vector of float)
150:19          Pos_in: direct index for structure ( temp 4-component vector of float)
160:19            'vsin' ( in structure{ temp 4-component vector of float Pos_in})
170:19            Constant:
180:19              0 (const int)
190:19          'Pos_loose' ( in 4-component vector of float)
200:21      Branch: Return with expression
210:21        'vsout' ( temp structure{ temp 4-component vector of float Pos})
220:16  Function Definition: main( ( temp void)
230:16    Function Parameters:
240:?     Sequence
250:16      Sequence
260:16        move second child to first child ( temp 4-component vector of float)
270:16          Pos_in: direct index for structure ( temp 4-component vector of float)
280:?             'vsin' ( temp structure{ temp 4-component vector of float Pos_in})
290:16            Constant:
300:16              0 (const int)
310:?           'vsin.Pos_in' (layout( location=0) in 4-component vector of float)
320:16      move second child to first child ( temp 4-component vector of float)
330:?         'Pos_loose' ( temp 4-component vector of float)
340:?         'Pos_loose' (layout( location=1) in 4-component vector of float)
350:16      Sequence
360:16        move second child to first child ( temp 4-component vector of float)
370:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
380:16          Pos: direct index for structure ( temp 4-component vector of float)
390:16            Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos})
400:?               'vsin' ( temp structure{ temp 4-component vector of float Pos_in})
410:?               'Pos_loose' ( temp 4-component vector of float)
420:16            Constant:
430:16              0 (const int)
440:?   Linker Objects
450:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
460:?     'vsin.Pos_in' (layout( location=0) in 4-component vector of float)
470:?     'Pos_loose' (layout( location=1) in 4-component vector of float)
48
49
50Linked vertex stage:
51
52
53Shader version: 500
540:? Sequence
550:16  Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos})
560:16    Function Parameters:
570:16      'vsin' ( in structure{ temp 4-component vector of float Pos_in})
580:16      'Pos_loose' ( in 4-component vector of float)
590:?     Sequence
600:19      move second child to first child ( temp 4-component vector of float)
610:19        Pos: direct index for structure ( temp 4-component vector of float)
620:19          'vsout' ( temp structure{ temp 4-component vector of float Pos})
630:19          Constant:
640:19            0 (const int)
650:19        add ( temp 4-component vector of float)
660:19          Pos_in: direct index for structure ( temp 4-component vector of float)
670:19            'vsin' ( in structure{ temp 4-component vector of float Pos_in})
680:19            Constant:
690:19              0 (const int)
700:19          'Pos_loose' ( in 4-component vector of float)
710:21      Branch: Return with expression
720:21        'vsout' ( temp structure{ temp 4-component vector of float Pos})
730:16  Function Definition: main( ( temp void)
740:16    Function Parameters:
750:?     Sequence
760:16      Sequence
770:16        move second child to first child ( temp 4-component vector of float)
780:16          Pos_in: direct index for structure ( temp 4-component vector of float)
790:?             'vsin' ( temp structure{ temp 4-component vector of float Pos_in})
800:16            Constant:
810:16              0 (const int)
820:?           'vsin.Pos_in' (layout( location=0) in 4-component vector of float)
830:16      move second child to first child ( temp 4-component vector of float)
840:?         'Pos_loose' ( temp 4-component vector of float)
850:?         'Pos_loose' (layout( location=1) in 4-component vector of float)
860:16      Sequence
870:16        move second child to first child ( temp 4-component vector of float)
880:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
890:16          Pos: direct index for structure ( temp 4-component vector of float)
900:16            Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos})
910:?               'vsin' ( temp structure{ temp 4-component vector of float Pos_in})
920:?               'Pos_loose' ( temp 4-component vector of float)
930:16            Constant:
940:16              0 (const int)
950:?   Linker Objects
960:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
970:?     'vsin.Pos_in' (layout( location=0) in 4-component vector of float)
980:?     'Pos_loose' (layout( location=1) in 4-component vector of float)
99
100// Module Version 10000
101// Generated by (magic number): 80007
102// Id's are bound by 45
103
104                              Capability Shader
105               1:             ExtInstImport  "GLSL.std.450"
106                              MemoryModel Logical GLSL450
107                              EntryPoint Vertex 4  "main" 31 35 38
108                              Source HLSL 500
109                              Name 4  "main"
110                              Name 8  "VS_INPUT"
111                              MemberName 8(VS_INPUT) 0  "Pos_in"
112                              Name 11  "VS_OUTPUT"
113                              MemberName 11(VS_OUTPUT) 0  "Pos"
114                              Name 15  "@main(struct-VS_INPUT-vf41;vf4;"
115                              Name 13  "vsin"
116                              Name 14  "Pos_loose"
117                              Name 18  "vsout"
118                              Name 29  "vsin"
119                              Name 31  "vsin.Pos_in"
120                              Name 34  "Pos_loose"
121                              Name 35  "Pos_loose"
122                              Name 38  "@entryPointOutput.Pos"
123                              Name 39  "param"
124                              Name 41  "param"
125                              Decorate 31(vsin.Pos_in) Location 0
126                              Decorate 35(Pos_loose) Location 1
127                              Decorate 38(@entryPointOutput.Pos) BuiltIn Position
128               2:             TypeVoid
129               3:             TypeFunction 2
130               6:             TypeFloat 32
131               7:             TypeVector 6(float) 4
132     8(VS_INPUT):             TypeStruct 7(fvec4)
133               9:             TypePointer Function 8(VS_INPUT)
134              10:             TypePointer Function 7(fvec4)
135   11(VS_OUTPUT):             TypeStruct 7(fvec4)
136              12:             TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr)
137              17:             TypePointer Function 11(VS_OUTPUT)
138              19:             TypeInt 32 1
139              20:     19(int) Constant 0
140              30:             TypePointer Input 7(fvec4)
141 31(vsin.Pos_in):     30(ptr) Variable Input
142   35(Pos_loose):     30(ptr) Variable Input
143              37:             TypePointer Output 7(fvec4)
14438(@entryPointOutput.Pos):     37(ptr) Variable Output
145         4(main):           2 Function None 3
146               5:             Label
147        29(vsin):      9(ptr) Variable Function
148   34(Pos_loose):     10(ptr) Variable Function
149       39(param):      9(ptr) Variable Function
150       41(param):     10(ptr) Variable Function
151              32:    7(fvec4) Load 31(vsin.Pos_in)
152              33:     10(ptr) AccessChain 29(vsin) 20
153                              Store 33 32
154              36:    7(fvec4) Load 35(Pos_loose)
155                              Store 34(Pos_loose) 36
156              40: 8(VS_INPUT) Load 29(vsin)
157                              Store 39(param) 40
158              42:    7(fvec4) Load 34(Pos_loose)
159                              Store 41(param) 42
160              43:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 39(param) 41(param)
161              44:    7(fvec4) CompositeExtract 43 0
162                              Store 38(@entryPointOutput.Pos) 44
163                              Return
164                              FunctionEnd
16515(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12
166        13(vsin):      9(ptr) FunctionParameter
167   14(Pos_loose):     10(ptr) FunctionParameter
168              16:             Label
169       18(vsout):     17(ptr) Variable Function
170              21:     10(ptr) AccessChain 13(vsin) 20
171              22:    7(fvec4) Load 21
172              23:    7(fvec4) Load 14(Pos_loose)
173              24:    7(fvec4) FAdd 22 23
174              25:     10(ptr) AccessChain 18(vsout) 20
175                              Store 25 24
176              26:11(VS_OUTPUT) Load 18(vsout)
177                              ReturnValue 26
178                              FunctionEnd
179