hlsl.structin.vert
Shader version: 500
0:? Sequence
0:8  Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8    Function Parameters: 
0:8      'd' ( in 4-component vector of float)
0:8      'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8      'e' ( in 4-component vector of float)
0:?     Sequence
0:11      move second child to first child ( temp 4-component vector of float)
0:11        b: direct index for structure ( temp 4-component vector of float)
0:11          'local' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11          Constant:
0:11            2 (const int)
0:11        add ( temp 4-component vector of float)
0:11          add ( temp 4-component vector of float)
0:11            add ( temp 4-component vector of float)
0:11              add ( temp 4-component vector of float)
0:11                direct index ( temp 4-component vector of float)
0:11                  m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11                    'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                    Constant:
0:11                      0 (const int)
0:11                  Constant:
0:11                    1 (const int)
0:11                direct index ( temp 4-component vector of float)
0:11                  m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11                    'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                    Constant:
0:11                      0 (const int)
0:11                  Constant:
0:11                    0 (const int)
0:11              Construct vec4 ( temp 4-component vector of float)
0:11                Convert uint to float ( temp float)
0:11                  direct index ( temp uint)
0:11                    coord: direct index for structure ( temp 2-component vector of uint)
0:11                      'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                      Constant:
0:11                        1 (const int)
0:11                    Constant:
0:11                      0 (const int)
0:11            'd' ( in 4-component vector of float)
0:11          'e' ( in 4-component vector of float)
0:13      Branch: Return with expression
0:13        'local' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
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:?         'd' ( temp 4-component vector of float)
0:?         'd' (layout( location=0) in 4-component vector of float)
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of float)
0:8          direct index ( temp 4-component vector of float)
0:8            m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:?               'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8              Constant:
0:8                0 (const int)
0:8            Constant:
0:8              0 (const int)
0:?           'm[0]' (layout( location=1) in 4-component vector of float)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          direct index ( temp 4-component vector of float)
0:8            m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:?               'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8              Constant:
0:8                0 (const int)
0:8            Constant:
0:8              1 (const int)
0:?           'm[1]' (layout( location=2) in 4-component vector of float)
0:8        move second child to first child ( temp 2-component vector of uint)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:?           'coord' (layout( location=3) in 2-component vector of uint)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:?           'b' (layout( location=4) in 4-component vector of float)
0:8      move second child to first child ( temp 4-component vector of float)
0:?         'e' ( temp 4-component vector of float)
0:?         'e' (layout( location=5) in 4-component vector of float)
0:8      Sequence
0:8        move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8          'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8          Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?             'd' ( temp 4-component vector of float)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?             'e' ( temp 4-component vector of float)
0:8        move second child to first child ( temp 2-element array of 4-component vector of float)
0:8          m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              0 (const int)
0:8          m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              0 (const int)
0:8        move second child to first child ( temp 2-component vector of uint)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?     'd' (layout( location=0) in 4-component vector of float)
0:?     'm[0]' (layout( location=1) in 4-component vector of float)
0:?     'm[1]' (layout( location=2) in 4-component vector of float)
0:?     'm[0]' (layout( location=1) in 4-component vector of float)
0:?     'm[1]' (layout( location=2) in 4-component vector of float)
0:?     'coord' (layout( location=3) in 2-component vector of uint)
0:?     'b' (layout( location=4) in 4-component vector of float)
0:?     'e' (layout( location=5) in 4-component vector of float)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:8  Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8    Function Parameters: 
0:8      'd' ( in 4-component vector of float)
0:8      'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8      'e' ( in 4-component vector of float)
0:?     Sequence
0:11      move second child to first child ( temp 4-component vector of float)
0:11        b: direct index for structure ( temp 4-component vector of float)
0:11          'local' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11          Constant:
0:11            2 (const int)
0:11        add ( temp 4-component vector of float)
0:11          add ( temp 4-component vector of float)
0:11            add ( temp 4-component vector of float)
0:11              add ( temp 4-component vector of float)
0:11                direct index ( temp 4-component vector of float)
0:11                  m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11                    'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                    Constant:
0:11                      0 (const int)
0:11                  Constant:
0:11                    1 (const int)
0:11                direct index ( temp 4-component vector of float)
0:11                  m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11                    'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                    Constant:
0:11                      0 (const int)
0:11                  Constant:
0:11                    0 (const int)
0:11              Construct vec4 ( temp 4-component vector of float)
0:11                Convert uint to float ( temp float)
0:11                  direct index ( temp uint)
0:11                    coord: direct index for structure ( temp 2-component vector of uint)
0:11                      'vi' ( in structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:11                      Constant:
0:11                        1 (const int)
0:11                    Constant:
0:11                      0 (const int)
0:11            'd' ( in 4-component vector of float)
0:11          'e' ( in 4-component vector of float)
0:13      Branch: Return with expression
0:13        'local' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
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:?         'd' ( temp 4-component vector of float)
0:?         'd' (layout( location=0) in 4-component vector of float)
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of float)
0:8          direct index ( temp 4-component vector of float)
0:8            m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:?               'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8              Constant:
0:8                0 (const int)
0:8            Constant:
0:8              0 (const int)
0:?           'm[0]' (layout( location=1) in 4-component vector of float)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          direct index ( temp 4-component vector of float)
0:8            m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:?               'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8              Constant:
0:8                0 (const int)
0:8            Constant:
0:8              1 (const int)
0:?           'm[1]' (layout( location=2) in 4-component vector of float)
0:8        move second child to first child ( temp 2-component vector of uint)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:?           'coord' (layout( location=3) in 2-component vector of uint)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:?           'b' (layout( location=4) in 4-component vector of float)
0:8      move second child to first child ( temp 4-component vector of float)
0:?         'e' ( temp 4-component vector of float)
0:?         'e' (layout( location=5) in 4-component vector of float)
0:8      Sequence
0:8        move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8          'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8          Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?             'd' ( temp 4-component vector of float)
0:?             'vi' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?             'e' ( temp 4-component vector of float)
0:8        move second child to first child ( temp 2-element array of 4-component vector of float)
0:8          m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              0 (const int)
0:8          m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              0 (const int)
0:8        move second child to first child ( temp 2-component vector of uint)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:8          coord: direct index for structure ( temp 2-component vector of uint)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              1 (const int)
0:8        move second child to first child ( temp 4-component vector of float)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:8            '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:8          b: direct index for structure ( temp 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:8            Constant:
0:8              2 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m,  temp 2-component vector of uint coord,  temp 4-component vector of float b})
0:?     'd' (layout( location=0) in 4-component vector of float)
0:?     'm[0]' (layout( location=1) in 4-component vector of float)
0:?     'm[1]' (layout( location=2) in 4-component vector of float)
0:?     'm[0]' (layout( location=1) in 4-component vector of float)
0:?     'm[1]' (layout( location=2) in 4-component vector of float)
0:?     'coord' (layout( location=3) in 2-component vector of uint)
0:?     'b' (layout( location=4) in 4-component vector of float)
0:?     'e' (layout( location=5) in 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 48 51 54 58 62 66 78
                              Source HLSL 500
                              Name 4  "main"
                              Name 13  "VI"
                              MemberName 13(VI) 0  "m"
                              MemberName 13(VI) 1  "coord"
                              MemberName 13(VI) 2  "b"
                              Name 19  "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;"
                              Name 16  "d"
                              Name 17  "vi"
                              Name 18  "e"
                              Name 21  "local"
                              Name 46  "d"
                              Name 48  "d"
                              Name 50  "vi"
                              Name 51  "m[0]"
                              Name 54  "m[1]"
                              Name 58  "coord"
                              Name 62  "b"
                              Name 65  "e"
                              Name 66  "e"
                              Name 68  "flattenTemp"
                              Name 69  "param"
                              Name 71  "param"
                              Name 73  "param"
                              Name 76  "VI"
                              MemberName 76(VI) 0  "m"
                              MemberName 76(VI) 1  "coord"
                              MemberName 76(VI) 2  "b"
                              Name 78  "@entryPointOutput"
                              Decorate 48(d) Location 0
                              Decorate 51(m[0]) Location 1
                              Decorate 54(m[1]) Location 2
                              Decorate 58(coord) Location 3
                              Decorate 62(b) Location 4
                              Decorate 66(e) Location 5
                              Decorate 78(@entryPointOutput) BuiltIn Position
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 7(fvec4) 10
              12:             TypeVector 9(int) 2
          13(VI):             TypeStruct 11 12(ivec2) 7(fvec4)
              14:             TypePointer Function 13(VI)
              15:             TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr)
              22:             TypeInt 32 1
              23:     22(int) Constant 2
              24:     22(int) Constant 0
              25:     22(int) Constant 1
              31:      9(int) Constant 0
              32:             TypePointer Function 9(int)
              47:             TypePointer Input 7(fvec4)
           48(d):     47(ptr) Variable Input
        51(m[0]):     47(ptr) Variable Input
        54(m[1]):     47(ptr) Variable Input
              57:             TypePointer Input 12(ivec2)
       58(coord):     57(ptr) Variable Input
              60:             TypePointer Function 12(ivec2)
           62(b):     47(ptr) Variable Input
           66(e):     47(ptr) Variable Input
          76(VI):             TypeStruct 11 12(ivec2) 7(fvec4)
              77:             TypePointer Output 76(VI)
78(@entryPointOutput):     77(ptr) Variable Output
              79:             TypePointer Function 11
              82:             TypePointer Output 11
              86:             TypePointer Output 12(ivec2)
              90:             TypePointer Output 7(fvec4)
         4(main):           2 Function None 3
               5:             Label
           46(d):      8(ptr) Variable Function
          50(vi):     14(ptr) Variable Function
           65(e):      8(ptr) Variable Function
 68(flattenTemp):     14(ptr) Variable Function
       69(param):      8(ptr) Variable Function
       71(param):     14(ptr) Variable Function
       73(param):      8(ptr) Variable Function
              49:    7(fvec4) Load 48(d)
                              Store 46(d) 49
              52:    7(fvec4) Load 51(m[0])
              53:      8(ptr) AccessChain 50(vi) 24 24
                              Store 53 52
              55:    7(fvec4) Load 54(m[1])
              56:      8(ptr) AccessChain 50(vi) 24 25
                              Store 56 55
              59:   12(ivec2) Load 58(coord)
              61:     60(ptr) AccessChain 50(vi) 25
                              Store 61 59
              63:    7(fvec4) Load 62(b)
              64:      8(ptr) AccessChain 50(vi) 23
                              Store 64 63
              67:    7(fvec4) Load 66(e)
                              Store 65(e) 67
              70:    7(fvec4) Load 46(d)
                              Store 69(param) 70
              72:      13(VI) Load 50(vi)
                              Store 71(param) 72
              74:    7(fvec4) Load 65(e)
                              Store 73(param) 74
              75:      13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param)
                              Store 68(flattenTemp) 75
              80:     79(ptr) AccessChain 68(flattenTemp) 24
              81:          11 Load 80
              83:     82(ptr) AccessChain 78(@entryPointOutput) 24
                              Store 83 81
              84:     60(ptr) AccessChain 68(flattenTemp) 25
              85:   12(ivec2) Load 84
              87:     86(ptr) AccessChain 78(@entryPointOutput) 25
                              Store 87 85
              88:      8(ptr) AccessChain 68(flattenTemp) 23
              89:    7(fvec4) Load 88
              91:     90(ptr) AccessChain 78(@entryPointOutput) 23
                              Store 91 89
                              Return
                              FunctionEnd
19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;):      13(VI) Function None 15
           16(d):      8(ptr) FunctionParameter
          17(vi):     14(ptr) FunctionParameter
           18(e):      8(ptr) FunctionParameter
              20:             Label
       21(local):     14(ptr) Variable Function
              26:      8(ptr) AccessChain 17(vi) 24 25
              27:    7(fvec4) Load 26
              28:      8(ptr) AccessChain 17(vi) 24 24
              29:    7(fvec4) Load 28
              30:    7(fvec4) FAdd 27 29
              33:     32(ptr) AccessChain 17(vi) 25 31
              34:      9(int) Load 33
              35:    6(float) ConvertUToF 34
              36:    7(fvec4) CompositeConstruct 35 35 35 35
              37:    7(fvec4) FAdd 30 36
              38:    7(fvec4) Load 16(d)
              39:    7(fvec4) FAdd 37 38
              40:    7(fvec4) Load 18(e)
              41:    7(fvec4) FAdd 39 40
              42:      8(ptr) AccessChain 21(local) 23
                              Store 42 41
              43:      13(VI) Load 21(local)
                              ReturnValue 43
                              FunctionEnd
