hlsl.struct.split.assign.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'i' ( in int)
0:7      'input' ( in 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:?     Sequence
0:9      move second child to first child ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:9        'input' ( in 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:9        'a' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:11      Branch: Return with expression
0:11        pos: direct index for structure ( temp 4-component vector of float)
0:11          direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:11            'a' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:11            Constant:
0:11              1 (const int)
0:11          Constant:
0:11            1 (const int)
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      move second child to first child ( temp int)
0:?         'i' ( temp int)
0:?         'i' (layout( location=0) flat in int)
0:7      Sequence
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[0].f' (layout( location=1) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              0 (const int)
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[1].f' (layout( location=2) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              1 (const int)
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[2].f' (layout( location=3) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              2 (const int)
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
0:?           'i' ( temp int)
0:?           'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'i' (layout( location=0) flat in int)
0:?     'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:?     'input[0].f' (layout( location=1) in float)
0:?     'input[1].f' (layout( location=2) in float)
0:?     'input[2].f' (layout( location=3) in float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'i' ( in int)
0:7      'input' ( in 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:?     Sequence
0:9      move second child to first child ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:9        'input' ( in 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:9        'a' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:11      Branch: Return with expression
0:11        pos: direct index for structure ( temp 4-component vector of float)
0:11          direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:11            'a' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:11            Constant:
0:11              1 (const int)
0:11          Constant:
0:11            1 (const int)
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      move second child to first child ( temp int)
0:?         'i' ( temp int)
0:?         'i' (layout( location=0) flat in int)
0:7      Sequence
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[0].f' (layout( location=1) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              0 (const int)
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[1].f' (layout( location=2) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              1 (const int)
0:7        move second child to first child ( temp float)
0:7          f: direct index for structure ( temp float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              0 (const int)
0:?           'input[2].f' (layout( location=3) in float)
0:7        move second child to first child ( temp 4-component vector of float)
0:7          pos: direct index for structure ( temp 4-component vector of float)
0:7            direct index ( temp structure{ temp float f,  temp 4-component vector of float pos})
0:?               'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              1 (const int)
0:7          direct index ( in 4-component vector of float FragCoord)
0:?             'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:7            Constant:
0:7              2 (const int)
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
0:?           'i' ( temp int)
0:?           'input' ( temp 3-element array of structure{ temp float f,  temp 4-component vector of float pos})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'i' (layout( location=0) flat in int)
0:?     'input.pos' ( in 3-element array of 4-component vector of float FragCoord)
0:?     'input[0].f' (layout( location=1) in float)
0:?     'input[1].f' (layout( location=2) in float)
0:?     'input[2].f' (layout( location=3) in float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 30 35 41 46 53 60
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 10  "S"
                              MemberName 10(S) 0  "f"
                              MemberName 10(S) 1  "pos"
                              Name 18  "@main(i1;struct-S-f1-vf41[3];"
                              Name 16  "i"
                              Name 17  "input"
                              Name 20  "a"
                              Name 28  "i"
                              Name 30  "i"
                              Name 32  "input"
                              Name 35  "input[0].f"
                              Name 41  "input.pos"
                              Name 46  "input[1].f"
                              Name 53  "input[2].f"
                              Name 60  "@entryPointOutput"
                              Name 61  "param"
                              Name 63  "param"
                              Decorate 30(i) Flat
                              Decorate 30(i) Location 0
                              Decorate 35(input[0].f) Location 1
                              Decorate 41(input.pos) BuiltIn FragCoord
                              Decorate 46(input[1].f) Location 2
                              Decorate 53(input[2].f) Location 3
                              Decorate 60(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
           10(S):             TypeStruct 8(float) 9(fvec4)
              11:             TypeInt 32 0
              12:     11(int) Constant 3
              13:             TypeArray 10(S) 12
              14:             TypePointer Function 13
              15:             TypeFunction 9(fvec4) 7(ptr) 14(ptr)
              22:      6(int) Constant 1
              23:             TypePointer Function 9(fvec4)
              29:             TypePointer Input 6(int)
           30(i):     29(ptr) Variable Input
              33:      6(int) Constant 0
              34:             TypePointer Input 8(float)
  35(input[0].f):     34(ptr) Variable Input
              37:             TypePointer Function 8(float)
              39:             TypeArray 9(fvec4) 12
              40:             TypePointer Input 39
   41(input.pos):     40(ptr) Variable Input
              42:             TypePointer Input 9(fvec4)
  46(input[1].f):     34(ptr) Variable Input
              52:      6(int) Constant 2
  53(input[2].f):     34(ptr) Variable Input
              59:             TypePointer Output 9(fvec4)
60(@entryPointOutput):     59(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           28(i):      7(ptr) Variable Function
       32(input):     14(ptr) Variable Function
       61(param):      7(ptr) Variable Function
       63(param):     14(ptr) Variable Function
              31:      6(int) Load 30(i)
                              Store 28(i) 31
              36:    8(float) Load 35(input[0].f)
              38:     37(ptr) AccessChain 32(input) 33 33
                              Store 38 36
              43:     42(ptr) AccessChain 41(input.pos) 33
              44:    9(fvec4) Load 43
              45:     23(ptr) AccessChain 32(input) 33 22
                              Store 45 44
              47:    8(float) Load 46(input[1].f)
              48:     37(ptr) AccessChain 32(input) 22 33
                              Store 48 47
              49:     42(ptr) AccessChain 41(input.pos) 22
              50:    9(fvec4) Load 49
              51:     23(ptr) AccessChain 32(input) 22 22
                              Store 51 50
              54:    8(float) Load 53(input[2].f)
              55:     37(ptr) AccessChain 32(input) 52 33
                              Store 55 54
              56:     42(ptr) AccessChain 41(input.pos) 52
              57:    9(fvec4) Load 56
              58:     23(ptr) AccessChain 32(input) 52 22
                              Store 58 57
              62:      6(int) Load 28(i)
                              Store 61(param) 62
              64:          13 Load 32(input)
                              Store 63(param) 64
              65:    9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 61(param) 63(param)
                              Store 60(@entryPointOutput) 65
                              Return
                              FunctionEnd
18(@main(i1;struct-S-f1-vf41[3];):    9(fvec4) Function None 15
           16(i):      7(ptr) FunctionParameter
       17(input):     14(ptr) FunctionParameter
              19:             Label
           20(a):     14(ptr) Variable Function
              21:          13 Load 20(a)
                              Store 17(input) 21
              24:     23(ptr) AccessChain 20(a) 22 22
              25:    9(fvec4) Load 24
                              ReturnValue 25
                              FunctionEnd
