hlsl.flattenSubset2.frag
WARNING: AST will form illegal SPIR-V; need to transform to legalize
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:8    Function Parameters: 
0:8      'vpos' ( in 4-component vector of float)
0:?     Sequence
0:13      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:13          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:13          Constant:
0:13            0 (const int)
0:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:13          'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:13          Constant:
0:13            0 (const int)
0:14      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:14          'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
0:14          Constant:
0:14            0 (const int)
0:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:14          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:14          Constant:
0:14            0 (const int)
0:17      Sequence
0:17        move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:17          'n' ( temp structure{ temp float y,  temp texture2D texNested})
0:17          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:17            'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
0:17            Constant:
0:17              0 (const int)
0:20      move second child to first child ( temp texture2D)
0:20        texNested: direct index for structure ( temp texture2D)
0:20          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:20            'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            1 (const int)
0:20        'someTex' ( uniform texture2D)
0:21      move second child to first child ( temp float)
0:21        y: direct index for structure ( temp float)
0:21          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:21            'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:21            Constant:
0:21              0 (const int)
0:21          Constant:
0:21            0 (const int)
0:21        Constant:
0:21          1.000000
0:23      Branch: Return with expression
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:8  Function Definition: main( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      move second child to first child ( temp 4-component vector of float)
0:?         'vpos' ( temp 4-component vector of float)
0:?         'vpos' (layout( location=0) in 4-component vector of float)
0:8      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:8        Function Call: @main(vf4; ( temp 4-component vector of float)
0:?           'vpos' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'someTex' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'vpos' (layout( location=0) in 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
0:8    Function Parameters: 
0:8      'vpos' ( in 4-component vector of float)
0:?     Sequence
0:13      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:13          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:13          Constant:
0:13            0 (const int)
0:13        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:13          'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:13          Constant:
0:13            0 (const int)
0:14      move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:14          'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
0:14          Constant:
0:14            0 (const int)
0:14        n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:14          'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:14          Constant:
0:14            0 (const int)
0:17      Sequence
0:17        move second child to first child ( temp structure{ temp float y,  temp texture2D texNested})
0:17          'n' ( temp structure{ temp float y,  temp texture2D texNested})
0:17          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:17            'b' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp texture2D tex})
0:17            Constant:
0:17              0 (const int)
0:20      move second child to first child ( temp texture2D)
0:20        texNested: direct index for structure ( temp texture2D)
0:20          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:20            'a2' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            1 (const int)
0:20        'someTex' ( uniform texture2D)
0:21      move second child to first child ( temp float)
0:21        y: direct index for structure ( temp float)
0:21          n: direct index for structure ( temp structure{ temp float y,  temp texture2D texNested})
0:21            'a1' ( temp structure{ temp structure{ temp float y,  temp texture2D texNested} n,  temp float x})
0:21            Constant:
0:21              0 (const int)
0:21          Constant:
0:21            0 (const int)
0:21        Constant:
0:21          1.000000
0:23      Branch: Return with expression
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:8  Function Definition: main( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      move second child to first child ( temp 4-component vector of float)
0:?         'vpos' ( temp 4-component vector of float)
0:?         'vpos' (layout( location=0) in 4-component vector of float)
0:8      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:8        Function Call: @main(vf4; ( temp 4-component vector of float)
0:?           'vpos' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'someTex' ( uniform texture2D)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'vpos' (layout( location=0) in 4-component vector of float)

// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 56

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 49 52
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "@main(vf4;"
                              Name 10  "vpos"
                              Name 14  "Nested"
                              MemberName 14(Nested) 0  "y"
                              MemberName 14(Nested) 1  "texNested"
                              Name 15  "A"
                              MemberName 15(A) 0  "n"
                              MemberName 15(A) 1  "x"
                              Name 17  "a1"
                              Name 20  "a2"
                              Name 25  "B"
                              MemberName 25(B) 0  "n"
                              MemberName 25(B) 1  "tex"
                              Name 27  "b"
                              Name 31  "n"
                              Name 36  "someTex"
                              Name 47  "vpos"
                              Name 49  "vpos"
                              Name 52  "@entryPointOutput"
                              Name 53  "param"
                              Decorate 36(someTex) DescriptorSet 0
                              Decorate 36(someTex) Binding 0
                              Decorate 49(vpos) Location 0
                              Decorate 52(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              13:             TypeImage 6(float) 2D sampled format:Unknown
      14(Nested):             TypeStruct 6(float) 13
           15(A):             TypeStruct 14(Nested) 6(float)
              16:             TypePointer Function 15(A)
              18:             TypeInt 32 1
              19:     18(int) Constant 0
              21:             TypePointer Function 14(Nested)
           25(B):             TypeStruct 14(Nested) 13
              26:             TypePointer Function 25(B)
              34:     18(int) Constant 1
              35:             TypePointer UniformConstant 13
     36(someTex):     35(ptr) Variable UniformConstant
              38:             TypePointer Function 13
              40:    6(float) Constant 1065353216
              41:             TypePointer Function 6(float)
              43:    6(float) Constant 0
              44:    7(fvec4) ConstantComposite 43 43 43 43
              48:             TypePointer Input 7(fvec4)
        49(vpos):     48(ptr) Variable Input
              51:             TypePointer Output 7(fvec4)
52(@entryPointOutput):     51(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
        47(vpos):      8(ptr) Variable Function
       53(param):      8(ptr) Variable Function
              50:    7(fvec4) Load 49(vpos)
                              Store 47(vpos) 50
              54:    7(fvec4) Load 47(vpos)
                              Store 53(param) 54
              55:    7(fvec4) FunctionCall 11(@main(vf4;) 53(param)
                              Store 52(@entryPointOutput) 55
                              Return
                              FunctionEnd
  11(@main(vf4;):    7(fvec4) Function None 9
        10(vpos):      8(ptr) FunctionParameter
              12:             Label
          17(a1):     16(ptr) Variable Function
          20(a2):     16(ptr) Variable Function
           27(b):     26(ptr) Variable Function
           31(n):     21(ptr) Variable Function
              22:     21(ptr) AccessChain 20(a2) 19
              23:  14(Nested) Load 22
              24:     21(ptr) AccessChain 17(a1) 19
                              Store 24 23
              28:     21(ptr) AccessChain 17(a1) 19
              29:  14(Nested) Load 28
              30:     21(ptr) AccessChain 27(b) 19
                              Store 30 29
              32:     21(ptr) AccessChain 27(b) 19
              33:  14(Nested) Load 32
                              Store 31(n) 33
              37:          13 Load 36(someTex)
              39:     38(ptr) AccessChain 20(a2) 19 34
                              Store 39 37
              42:     41(ptr) AccessChain 17(a1) 19 19
                              Store 42 40
                              ReturnValue 44
                              FunctionEnd
