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        Constant:
0:11          1.000000
0:11          1.000000
0:11          1.000000
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              0 (const int)
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              0 (const int)
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              0 (const int)
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' (layout( location=1) in 3-element array of structure{ temp float f})
0:?     'input_pos' ( in 3-element array of 4-component vector of float FragCoord)


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        Constant:
0:11          1.000000
0:11          1.000000
0:11          1.000000
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                0 (const int)
0:7            Constant:
0:7              0 (const int)
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                1 (const int)
0:7            Constant:
0:7              0 (const int)
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:7          f: direct index for structure ( temp float)
0:7            direct index (layout( location=1) in structure{ temp float f})
0:7              'input' (layout( location=1) in 3-element array of structure{ temp float f})
0:7              Constant:
0:7                2 (const int)
0:7            Constant:
0:7              0 (const int)
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' (layout( location=1) in 3-element array of structure{ temp float f})
0:?     'input_pos' ( in 3-element array of 4-component vector of float FragCoord)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 32 39 48 67
                              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 30  "i"
                              Name 32  "i"
                              Name 34  "input"
                              Name 36  "S"
                              MemberName 36(S) 0  "f"
                              Name 39  "input"
                              Name 48  "input_pos"
                              Name 67  "@entryPointOutput"
                              Name 68  "param"
                              Name 70  "param"
                              Decorate 32(i) Flat
                              Decorate 32(i) Location 0
                              Decorate 39(input) Location 1
                              Decorate 48(input_pos) BuiltIn FragCoord
                              Decorate 67(@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:             TypeVector 8(float) 3
              23:    8(float) Constant 1065353216
              24:   22(fvec3) ConstantComposite 23 23 23
              25:             TypePointer Function 9(fvec4)
              31:             TypePointer Input 6(int)
           32(i):     31(ptr) Variable Input
              35:      6(int) Constant 0
           36(S):             TypeStruct 8(float)
              37:             TypeArray 36(S) 12
              38:             TypePointer Input 37
       39(input):     38(ptr) Variable Input
              40:             TypePointer Input 8(float)
              43:             TypePointer Function 8(float)
              45:      6(int) Constant 1
              46:             TypeArray 9(fvec4) 12
              47:             TypePointer Input 46
   48(input_pos):     47(ptr) Variable Input
              49:             TypePointer Input 9(fvec4)
              59:      6(int) Constant 2
              66:             TypePointer Output 9(fvec4)
67(@entryPointOutput):     66(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           30(i):      7(ptr) Variable Function
       34(input):     14(ptr) Variable Function
       68(param):      7(ptr) Variable Function
       70(param):     14(ptr) Variable Function
              33:      6(int) Load 32(i)
                              Store 30(i) 33
              41:     40(ptr) AccessChain 39(input) 35 35
              42:    8(float) Load 41
              44:     43(ptr) AccessChain 34(input) 35 35
                              Store 44 42
              50:     49(ptr) AccessChain 48(input_pos) 35
              51:    9(fvec4) Load 50
              52:     25(ptr) AccessChain 34(input) 35 45
                              Store 52 51
              53:     40(ptr) AccessChain 39(input) 45 35
              54:    8(float) Load 53
              55:     43(ptr) AccessChain 34(input) 45 35
                              Store 55 54
              56:     49(ptr) AccessChain 48(input_pos) 45
              57:    9(fvec4) Load 56
              58:     25(ptr) AccessChain 34(input) 45 45
                              Store 58 57
              60:     40(ptr) AccessChain 39(input) 59 35
              61:    8(float) Load 60
              62:     43(ptr) AccessChain 34(input) 59 35
                              Store 62 61
              63:     49(ptr) AccessChain 48(input_pos) 59
              64:    9(fvec4) Load 63
              65:     25(ptr) AccessChain 34(input) 59 45
                              Store 65 64
              69:      6(int) Load 30(i)
                              Store 68(param) 69
              71:          13 Load 34(input)
                              Store 70(param) 71
              72:    9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 68(param) 70(param)
                              Store 67(@entryPointOutput) 72
                              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
              26:     25(ptr) Variable Function
              21:          13 Load 20(a)
                              Store 17(input) 21
                              Store 26 24
              27:    9(fvec4) Load 26
                              ReturnValue 27
                              FunctionEnd
