1hlsl.targetStruct1.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:12  Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
60:12    Function Parameters:
70:12      'input' ( in structure{ temp float interp,  temp uint no_interp})
80:12      'po' ( out 4-component vector of float)
90:?     Sequence
100:14      move second child to first child ( temp 4-component vector of float)
110:14        o1: direct index for structure ( temp 4-component vector of float)
120:14          'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
130:14          Constant:
140:14            0 (const int)
150:?         Construct vec4 ( temp 4-component vector of float)
160:14          Convert uint to float ( temp float)
170:14            no_interp: direct index for structure ( temp uint)
180:14              'input' ( in structure{ temp float interp,  temp uint no_interp})
190:14              Constant:
200:14                1 (const int)
210:14          interp: direct index for structure ( temp float)
220:14            'input' ( in structure{ temp float interp,  temp uint no_interp})
230:14            Constant:
240:14              0 (const int)
250:14          Constant:
260:14            0.000000
270:14          Constant:
280:14            1.000000
290:15      move second child to first child ( temp 4-component vector of float)
300:15        o2: direct index for structure ( temp 4-component vector of float)
310:15          'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
320:15          Constant:
330:15            1 (const int)
340:15        Constant:
350:15          1.000000
360:15          1.000000
370:15          1.000000
380:15          1.000000
390:16      move second child to first child ( temp 4-component vector of float)
400:16        'po' ( out 4-component vector of float)
410:16        Constant:
420:16          0.000000
430:16          0.000000
440:16          0.000000
450:16          0.000000
460:18      Branch: Return with expression
470:18        'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
480:12  Function Definition: main( ( temp void)
490:12    Function Parameters:
500:?     Sequence
510:12      Sequence
520:12        move second child to first child ( temp float)
530:12          interp: direct index for structure ( temp float)
540:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
550:12            Constant:
560:12              0 (const int)
570:?           'input.interp' (layout( location=0) in float)
580:12        move second child to first child ( temp uint)
590:12          no_interp: direct index for structure ( temp uint)
600:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
610:12            Constant:
620:12              1 (const int)
630:?           'input.no_interp' (layout( location=1) flat in uint)
640:12      Sequence
650:12        move second child to first child ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
660:12          'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
670:12          Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
680:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
690:?             'po' ( temp 4-component vector of float)
700:12        move second child to first child ( temp 4-component vector of float)
710:?           '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
720:12          o1: direct index for structure ( temp 4-component vector of float)
730:12            'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
740:12            Constant:
750:12              0 (const int)
760:12        move second child to first child ( temp 4-component vector of float)
770:?           '@entryPointOutput.o2' (layout( location=1) out 4-component vector of float)
780:12          o2: direct index for structure ( temp 4-component vector of float)
790:12            'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
800:12            Constant:
810:12              1 (const int)
820:12      move second child to first child ( temp 4-component vector of float)
830:?         'po' (layout( location=0) out 4-component vector of float)
840:?         'po' ( temp 4-component vector of float)
850:?   Linker Objects
860:?     '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
870:?     '@entryPointOutput.o2' (layout( location=1) out 4-component vector of float)
880:?     'input.interp' (layout( location=0) in float)
890:?     'input.no_interp' (layout( location=1) flat in uint)
900:?     'po' (layout( location=0) out 4-component vector of float)
91
92
93Linked fragment stage:
94
95
96Shader version: 500
97gl_FragCoord origin is upper left
980:? Sequence
990:12  Function Definition: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1000:12    Function Parameters:
1010:12      'input' ( in structure{ temp float interp,  temp uint no_interp})
1020:12      'po' ( out 4-component vector of float)
1030:?     Sequence
1040:14      move second child to first child ( temp 4-component vector of float)
1050:14        o1: direct index for structure ( temp 4-component vector of float)
1060:14          'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1070:14          Constant:
1080:14            0 (const int)
1090:?         Construct vec4 ( temp 4-component vector of float)
1100:14          Convert uint to float ( temp float)
1110:14            no_interp: direct index for structure ( temp uint)
1120:14              'input' ( in structure{ temp float interp,  temp uint no_interp})
1130:14              Constant:
1140:14                1 (const int)
1150:14          interp: direct index for structure ( temp float)
1160:14            'input' ( in structure{ temp float interp,  temp uint no_interp})
1170:14            Constant:
1180:14              0 (const int)
1190:14          Constant:
1200:14            0.000000
1210:14          Constant:
1220:14            1.000000
1230:15      move second child to first child ( temp 4-component vector of float)
1240:15        o2: direct index for structure ( temp 4-component vector of float)
1250:15          'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1260:15          Constant:
1270:15            1 (const int)
1280:15        Constant:
1290:15          1.000000
1300:15          1.000000
1310:15          1.000000
1320:15          1.000000
1330:16      move second child to first child ( temp 4-component vector of float)
1340:16        'po' ( out 4-component vector of float)
1350:16        Constant:
1360:16          0.000000
1370:16          0.000000
1380:16          0.000000
1390:16          0.000000
1400:18      Branch: Return with expression
1410:18        'pso' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1420:12  Function Definition: main( ( temp void)
1430:12    Function Parameters:
1440:?     Sequence
1450:12      Sequence
1460:12        move second child to first child ( temp float)
1470:12          interp: direct index for structure ( temp float)
1480:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
1490:12            Constant:
1500:12              0 (const int)
1510:?           'input.interp' (layout( location=0) in float)
1520:12        move second child to first child ( temp uint)
1530:12          no_interp: direct index for structure ( temp uint)
1540:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
1550:12            Constant:
1560:12              1 (const int)
1570:?           'input.no_interp' (layout( location=1) flat in uint)
1580:12      Sequence
1590:12        move second child to first child ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1600:12          'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1610:12          Function Call: @main(struct-PSInput-f1-u11;vf4; ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1620:?             'input' ( temp structure{ temp float interp,  temp uint no_interp})
1630:?             'po' ( temp 4-component vector of float)
1640:12        move second child to first child ( temp 4-component vector of float)
1650:?           '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
1660:12          o1: direct index for structure ( temp 4-component vector of float)
1670:12            'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1680:12            Constant:
1690:12              0 (const int)
1700:12        move second child to first child ( temp 4-component vector of float)
1710:?           '@entryPointOutput.o2' (layout( location=1) out 4-component vector of float)
1720:12          o2: direct index for structure ( temp 4-component vector of float)
1730:12            'flattenTemp' ( temp structure{ temp 4-component vector of float o1,  temp 4-component vector of float o2})
1740:12            Constant:
1750:12              1 (const int)
1760:12      move second child to first child ( temp 4-component vector of float)
1770:?         'po' (layout( location=0) out 4-component vector of float)
1780:?         'po' ( temp 4-component vector of float)
1790:?   Linker Objects
1800:?     '@entryPointOutput.o1' (layout( location=2) out 4-component vector of float)
1810:?     '@entryPointOutput.o2' (layout( location=1) out 4-component vector of float)
1820:?     'input.interp' (layout( location=0) in float)
1830:?     'input.no_interp' (layout( location=1) flat in uint)
1840:?     'po' (layout( location=0) out 4-component vector of float)
185
186// Module Version 10000
187// Generated by (magic number): 80007
188// Id's are bound by 65
189
190                              Capability Shader
191               1:             ExtInstImport  "GLSL.std.450"
192                              MemoryModel Logical GLSL450
193                              EntryPoint Fragment 4  "main" 42 46 57 60 63
194                              ExecutionMode 4 OriginUpperLeft
195                              Source HLSL 500
196                              Name 4  "main"
197                              Name 8  "PSInput"
198                              MemberName 8(PSInput) 0  "interp"
199                              MemberName 8(PSInput) 1  "no_interp"
200                              Name 12  "PSOutput"
201                              MemberName 12(PSOutput) 0  "o1"
202                              MemberName 12(PSOutput) 1  "o2"
203                              Name 16  "@main(struct-PSInput-f1-u11;vf4;"
204                              Name 14  "input"
205                              Name 15  "po"
206                              Name 19  "pso"
207                              Name 40  "input"
208                              Name 42  "input.interp"
209                              Name 46  "input.no_interp"
210                              Name 49  "flattenTemp"
211                              Name 50  "po"
212                              Name 51  "param"
213                              Name 53  "param"
214                              Name 57  "@entryPointOutput.o1"
215                              Name 60  "@entryPointOutput.o2"
216                              Name 63  "po"
217                              Decorate 42(input.interp) Location 0
218                              Decorate 46(input.no_interp) Flat
219                              Decorate 46(input.no_interp) Location 1
220                              Decorate 57(@entryPointOutput.o1) Location 2
221                              Decorate 60(@entryPointOutput.o2) Location 1
222                              Decorate 63(po) Location 0
223               2:             TypeVoid
224               3:             TypeFunction 2
225               6:             TypeFloat 32
226               7:             TypeInt 32 0
227      8(PSInput):             TypeStruct 6(float) 7(int)
228               9:             TypePointer Function 8(PSInput)
229              10:             TypeVector 6(float) 4
230              11:             TypePointer Function 10(fvec4)
231    12(PSOutput):             TypeStruct 10(fvec4) 10(fvec4)
232              13:             TypeFunction 12(PSOutput) 9(ptr) 11(ptr)
233              18:             TypePointer Function 12(PSOutput)
234              20:             TypeInt 32 1
235              21:     20(int) Constant 0
236              22:     20(int) Constant 1
237              23:             TypePointer Function 7(int)
238              27:             TypePointer Function 6(float)
239              30:    6(float) Constant 0
240              31:    6(float) Constant 1065353216
241              34:   10(fvec4) ConstantComposite 31 31 31 31
242              36:   10(fvec4) ConstantComposite 30 30 30 30
243              41:             TypePointer Input 6(float)
24442(input.interp):     41(ptr) Variable Input
245              45:             TypePointer Input 7(int)
24646(input.no_interp):     45(ptr) Variable Input
247              56:             TypePointer Output 10(fvec4)
24857(@entryPointOutput.o1):     56(ptr) Variable Output
24960(@entryPointOutput.o2):     56(ptr) Variable Output
250          63(po):     56(ptr) Variable Output
251         4(main):           2 Function None 3
252               5:             Label
253       40(input):      9(ptr) Variable Function
254 49(flattenTemp):     18(ptr) Variable Function
255          50(po):     11(ptr) Variable Function
256       51(param):      9(ptr) Variable Function
257       53(param):     11(ptr) Variable Function
258              43:    6(float) Load 42(input.interp)
259              44:     27(ptr) AccessChain 40(input) 21
260                              Store 44 43
261              47:      7(int) Load 46(input.no_interp)
262              48:     23(ptr) AccessChain 40(input) 22
263                              Store 48 47
264              52:  8(PSInput) Load 40(input)
265                              Store 51(param) 52
266              54:12(PSOutput) FunctionCall 16(@main(struct-PSInput-f1-u11;vf4;) 51(param) 53(param)
267              55:   10(fvec4) Load 53(param)
268                              Store 50(po) 55
269                              Store 49(flattenTemp) 54
270              58:     11(ptr) AccessChain 49(flattenTemp) 21
271              59:   10(fvec4) Load 58
272                              Store 57(@entryPointOutput.o1) 59
273              61:     11(ptr) AccessChain 49(flattenTemp) 22
274              62:   10(fvec4) Load 61
275                              Store 60(@entryPointOutput.o2) 62
276              64:   10(fvec4) Load 50(po)
277                              Store 63(po) 64
278                              Return
279                              FunctionEnd
28016(@main(struct-PSInput-f1-u11;vf4;):12(PSOutput) Function None 13
281       14(input):      9(ptr) FunctionParameter
282          15(po):     11(ptr) FunctionParameter
283              17:             Label
284         19(pso):     18(ptr) Variable Function
285              24:     23(ptr) AccessChain 14(input) 22
286              25:      7(int) Load 24
287              26:    6(float) ConvertUToF 25
288              28:     27(ptr) AccessChain 14(input) 21
289              29:    6(float) Load 28
290              32:   10(fvec4) CompositeConstruct 26 29 30 31
291              33:     11(ptr) AccessChain 19(pso) 21
292                              Store 33 32
293              35:     11(ptr) AccessChain 19(pso) 22
294                              Store 35 34
295                              Store 15(po) 36
296              37:12(PSOutput) Load 19(pso)
297                              ReturnValue 37
298                              FunctionEnd
299