1hlsl.flattenSubset2.frag
2WARNING: AST will form illegal SPIR-V; need to transform to legalize
3Shader version: 500
4gl_FragCoord origin is upper left
50:? Sequence
60:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
70:8    Function Parameters:
80:8      'vpos' ( in 4-component vector of float)
90:?     Sequence
100:13      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
110:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
120:13          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
130:13          Constant:
140:13            0 (const int)
150:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
160:13          'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
170:13          Constant:
180:13            0 (const int)
190:14      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
200:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
210:14          'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
220:14          Constant:
230:14            0 (const int)
240:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
250:14          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
260:14          Constant:
270:14            0 (const int)
280:17      Sequence
290:17        move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
300:17          'n' ( temp structure{ temp float y,  temp texture2D texNested})
310:17          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
320:17            'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
330:17            Constant:
340:17              0 (const int)
350:20      move second child to first child ( temp texture2D)
360:20        texNested: direct index for structure ( temp texture2D)
370:20          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
380:20            'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
390:20            Constant:
400:20              0 (const int)
410:20          Constant:
420:20            1 (const int)
430:20        'someTex' ( uniform texture2D)
440:21      move second child to first child ( temp float)
450:21        y: direct index for structure ( temp float)
460:21          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
470:21            'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
480:21            Constant:
490:21              0 (const int)
500:21          Constant:
510:21            0 (const int)
520:21        Constant:
530:21          1.000000
540:23      Branch: Return with expression
550:?         Constant:
560:?           0.000000
570:?           0.000000
580:?           0.000000
590:?           0.000000
600:8  Function Definition: main( ( temp void)
610:8    Function Parameters:
620:?     Sequence
630:8      move second child to first child ( temp 4-component vector of float)
640:?         'vpos' ( temp 4-component vector of float)
650:?         'vpos' (layout( location=0) in 4-component vector of float)
660:8      move second child to first child ( temp 4-component vector of float)
670:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
680:8        Function Call: @main(vf4; ( temp 4-component vector of float)
690:?           'vpos' ( temp 4-component vector of float)
700:?   Linker Objects
710:?     'someTex' ( uniform texture2D)
720:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
730:?     'vpos' (layout( location=0) in 4-component vector of float)
74
75
76Linked fragment stage:
77
78
79Shader version: 500
80gl_FragCoord origin is upper left
810:? Sequence
820:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
830:8    Function Parameters:
840:8      'vpos' ( in 4-component vector of float)
850:?     Sequence
860:13      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
870:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
880:13          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
890:13          Constant:
900:13            0 (const int)
910:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
920:13          'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
930:13          Constant:
940:13            0 (const int)
950:14      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
960:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
970:14          'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
980:14          Constant:
990:14            0 (const int)
1000:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
1010:14          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
1020:14          Constant:
1030:14            0 (const int)
1040:17      Sequence
1050:17        move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
1060:17          'n' ( temp structure{ temp float y,  temp texture2D texNested})
1070:17          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
1080:17            'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
1090:17            Constant:
1100:17              0 (const int)
1110:20      move second child to first child ( temp texture2D)
1120:20        texNested: direct index for structure ( temp texture2D)
1130:20          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
1140:20            'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
1150:20            Constant:
1160:20              0 (const int)
1170:20          Constant:
1180:20            1 (const int)
1190:20        'someTex' ( uniform texture2D)
1200:21      move second child to first child ( temp float)
1210:21        y: direct index for structure ( temp float)
1220:21          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
1230:21            'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
1240:21            Constant:
1250:21              0 (const int)
1260:21          Constant:
1270:21            0 (const int)
1280:21        Constant:
1290:21          1.000000
1300:23      Branch: Return with expression
1310:?         Constant:
1320:?           0.000000
1330:?           0.000000
1340:?           0.000000
1350:?           0.000000
1360:8  Function Definition: main( ( temp void)
1370:8    Function Parameters:
1380:?     Sequence
1390:8      move second child to first child ( temp 4-component vector of float)
1400:?         'vpos' ( temp 4-component vector of float)
1410:?         'vpos' (layout( location=0) in 4-component vector of float)
1420:8      move second child to first child ( temp 4-component vector of float)
1430:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1440:8        Function Call: @main(vf4; ( temp 4-component vector of float)
1450:?           'vpos' ( temp 4-component vector of float)
1460:?   Linker Objects
1470:?     'someTex' ( uniform texture2D)
1480:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1490:?     'vpos' (layout( location=0) in 4-component vector of float)
150
151// Module Version 10000
152// Generated by (magic number): 80007
153// Id's are bound by 56
154
155                              Capability Shader
156               1:             ExtInstImport  "GLSL.std.450"
157                              MemoryModel Logical GLSL450
158                              EntryPoint Fragment 4  "main" 49 52
159                              ExecutionMode 4 OriginUpperLeft
160                              Source HLSL 500
161                              Name 4  "main"
162                              Name 11  "@main(vf4;"
163                              Name 10  "vpos"
164                              Name 14  "Nested"
165                              MemberName 14(Nested) 0  "y"
166                              MemberName 14(Nested) 1  "texNested"
167                              Name 15  "A"
168                              MemberName 15(A) 0  "n"
169                              MemberName 15(A) 1  "x"
170                              Name 17  "a1"
171                              Name 20  "a2"
172                              Name 25  "B"
173                              MemberName 25(B) 0  "n"
174                              MemberName 25(B) 1  "tex"
175                              Name 27  "b"
176                              Name 31  "n"
177                              Name 36  "someTex"
178                              Name 47  "vpos"
179                              Name 49  "vpos"
180                              Name 52  "@entryPointOutput"
181                              Name 53  "param"
182                              Decorate 36(someTex) DescriptorSet 0
183                              Decorate 49(vpos) Location 0
184                              Decorate 52(@entryPointOutput) Location 0
185               2:             TypeVoid
186               3:             TypeFunction 2
187               6:             TypeFloat 32
188               7:             TypeVector 6(float) 4
189               8:             TypePointer Function 7(fvec4)
190               9:             TypeFunction 7(fvec4) 8(ptr)
191              13:             TypeImage 6(float) 2D sampled format:Unknown
192      14(Nested):             TypeStruct 6(float) 13
193           15(A):             TypeStruct 14(Nested) 6(float)
194              16:             TypePointer Function 15(A)
195              18:             TypeInt 32 1
196              19:     18(int) Constant 0
197              21:             TypePointer Function 14(Nested)
198           25(B):             TypeStruct 14(Nested) 13
199              26:             TypePointer Function 25(B)
200              34:     18(int) Constant 1
201              35:             TypePointer UniformConstant 13
202     36(someTex):     35(ptr) Variable UniformConstant
203              38:             TypePointer Function 13
204              40:    6(float) Constant 1065353216
205              41:             TypePointer Function 6(float)
206              43:    6(float) Constant 0
207              44:    7(fvec4) ConstantComposite 43 43 43 43
208              48:             TypePointer Input 7(fvec4)
209        49(vpos):     48(ptr) Variable Input
210              51:             TypePointer Output 7(fvec4)
21152(@entryPointOutput):     51(ptr) Variable Output
212         4(main):           2 Function None 3
213               5:             Label
214        47(vpos):      8(ptr) Variable Function
215       53(param):      8(ptr) Variable Function
216              50:    7(fvec4) Load 49(vpos)
217                              Store 47(vpos) 50
218              54:    7(fvec4) Load 47(vpos)
219                              Store 53(param) 54
220              55:    7(fvec4) FunctionCall 11(@main(vf4;) 53(param)
221                              Store 52(@entryPointOutput) 55
222                              Return
223                              FunctionEnd
224  11(@main(vf4;):    7(fvec4) Function None 9
225        10(vpos):      8(ptr) FunctionParameter
226              12:             Label
227          17(a1):     16(ptr) Variable Function
228          20(a2):     16(ptr) Variable Function
229           27(b):     26(ptr) Variable Function
230           31(n):     21(ptr) Variable Function
231              22:     21(ptr) AccessChain 20(a2) 19
232              23:  14(Nested) Load 22
233              24:     21(ptr) AccessChain 17(a1) 19
234                              Store 24 23
235              28:     21(ptr) AccessChain 17(a1) 19
236              29:  14(Nested) Load 28
237              30:     21(ptr) AccessChain 27(b) 19
238                              Store 30 29
239              32:     21(ptr) AccessChain 27(b) 19
240              33:  14(Nested) Load 32
241                              Store 31(n) 33
242              37:          13 Load 36(someTex)
243              39:     38(ptr) AccessChain 20(a2) 19 34
244                              Store 39 37
245              42:     41(ptr) AccessChain 17(a1) 19 19
246                              Store 42 40
247                              ReturnValue 44
248                              FunctionEnd
249