hlsl.init2.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3  Function Definition: Test1( (temp void)
0:3    Function Parameters: 
0:?     Sequence
0:5      Sequence
0:5        move second child to first child (temp structure{temp 2-component vector of float a})
0:5          'test1' (temp structure{temp 2-component vector of float a})
0:5          Constant:
0:5            1.000000
0:5            2.000000
0:9      Sequence
0:9        move second child to first child (temp structure{temp 2-component vector of float a})
0:9          'test2' (temp structure{temp 2-component vector of float a})
0:9          Constant:
0:9            3.000000
0:9            4.000000
0:17      Sequence
0:17        move second child to first child (temp float)
0:17          'test4' (temp float)
0:17          Constant:
0:17            7.000000
0:20      Sequence
0:20        move second child to first child (temp structure{temp float a, temp float b, temp float c})
0:20          'test5' (temp structure{temp float a, temp float b, temp float c})
0:20          Constant:
0:20            8.000000
0:20            9.000000
0:20            10.000000
0:26  Function Definition: main( (temp structure{temp 4-component vector of float color})
0:26    Function Parameters: 
0:?     Sequence
0:27      Function Call: Test1( (temp void)
0:30      move second child to first child (temp 4-component vector of float)
0:30        color: direct index for structure (temp 4-component vector of float)
0:30          'ps_output' (temp structure{temp 4-component vector of float color})
0:30          Constant:
0:30            0 (const int)
0:30        Constant:
0:30          1.000000
0:30          1.000000
0:30          1.000000
0:30          1.000000
0:31      Sequence
0:31        Sequence
0:31          move second child to first child (temp 4-component vector of float)
0:?             'color' (layout(location=0 ) out 4-component vector of float)
0:31            color: direct index for structure (temp 4-component vector of float)
0:31              'ps_output' (temp structure{temp 4-component vector of float color})
0:31              Constant:
0:31                0 (const int)
0:31        Branch: Return
0:?   Linker Objects
0:?     'color' (layout(location=0 ) out 4-component vector of float)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3  Function Definition: Test1( (temp void)
0:3    Function Parameters: 
0:?     Sequence
0:5      Sequence
0:5        move second child to first child (temp structure{temp 2-component vector of float a})
0:5          'test1' (temp structure{temp 2-component vector of float a})
0:5          Constant:
0:5            1.000000
0:5            2.000000
0:9      Sequence
0:9        move second child to first child (temp structure{temp 2-component vector of float a})
0:9          'test2' (temp structure{temp 2-component vector of float a})
0:9          Constant:
0:9            3.000000
0:9            4.000000
0:17      Sequence
0:17        move second child to first child (temp float)
0:17          'test4' (temp float)
0:17          Constant:
0:17            7.000000
0:20      Sequence
0:20        move second child to first child (temp structure{temp float a, temp float b, temp float c})
0:20          'test5' (temp structure{temp float a, temp float b, temp float c})
0:20          Constant:
0:20            8.000000
0:20            9.000000
0:20            10.000000
0:26  Function Definition: main( (temp structure{temp 4-component vector of float color})
0:26    Function Parameters: 
0:?     Sequence
0:27      Function Call: Test1( (temp void)
0:30      move second child to first child (temp 4-component vector of float)
0:30        color: direct index for structure (temp 4-component vector of float)
0:30          'ps_output' (temp structure{temp 4-component vector of float color})
0:30          Constant:
0:30            0 (const int)
0:30        Constant:
0:30          1.000000
0:30          1.000000
0:30          1.000000
0:30          1.000000
0:31      Sequence
0:31        Sequence
0:31          move second child to first child (temp 4-component vector of float)
0:?             'color' (layout(location=0 ) out 4-component vector of float)
0:31            color: direct index for structure (temp 4-component vector of float)
0:31              'ps_output' (temp structure{temp 4-component vector of float color})
0:31              Constant:
0:31                0 (const int)
0:31        Branch: Return
0:?   Linker Objects
0:?     'color' (layout(location=0 ) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 43
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 6  "Test1("
                              Name 10  "mystruct"
                              MemberName 10(mystruct) 0  "a"
                              Name 12  "test1"
                              Name 17  "test2"
                              Name 23  "test4"
                              Name 25  "mystruct2"
                              MemberName 25(mystruct2) 0  "a"
                              MemberName 25(mystruct2) 1  "b"
                              MemberName 25(mystruct2) 2  "c"
                              Name 27  "test5"
                              Name 34  "PS_OUTPUT"
                              MemberName 34(PS_OUTPUT) 0  "color"
                              Name 36  "ps_output"
                              Name 43  "color"
                              Decorate 43(color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               8:             TypeFloat 32
               9:             TypeVector 8(float) 2
    10(mystruct):             TypeStruct 9(fvec2)
              11:             TypePointer Function 10(mystruct)
              13:    8(float) Constant 1065353216
              14:    8(float) Constant 1073741824
              15:    9(fvec2) ConstantComposite 13 14
              16:10(mystruct) ConstantComposite 15
              18:    8(float) Constant 1077936128
              19:    8(float) Constant 1082130432
              20:    9(fvec2) ConstantComposite 18 19
              21:10(mystruct) ConstantComposite 20
              22:             TypePointer Function 8(float)
              24:    8(float) Constant 1088421888
   25(mystruct2):             TypeStruct 8(float) 8(float) 8(float)
              26:             TypePointer Function 25(mystruct2)
              28:    8(float) Constant 1090519040
              29:    8(float) Constant 1091567616
              30:    8(float) Constant 1092616192
              31:25(mystruct2) ConstantComposite 28 29 30
              33:             TypeVector 8(float) 4
   34(PS_OUTPUT):             TypeStruct 33(fvec4)
              35:             TypePointer Function 34(PS_OUTPUT)
              37:             TypeInt 32 1
              38:     37(int) Constant 0
              39:   33(fvec4) ConstantComposite 13 13 13 13
              40:             TypePointer Function 33(fvec4)
              42:             TypePointer Output 33(fvec4)
       43(color):     42(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
   36(ps_output):     35(ptr) Variable Function
              32:           2 FunctionCall 6(Test1()
              41:     40(ptr) AccessChain 36(ps_output) 38
                              Store 41 39
              44:     40(ptr) AccessChain 36(ps_output) 38
              45:   33(fvec4) Load 44
                              Store 43(color) 45
                              Return
                              FunctionEnd
       6(Test1():           2 Function None 3
               7:             Label
       12(test1):     11(ptr) Variable Function
       17(test2):     11(ptr) Variable Function
       23(test4):     22(ptr) Variable Function
       27(test5):     26(ptr) Variable Function
                              Store 12(test1) 16
                              Store 17(test2) 21
                              Store 23(test4) 24
                              Store 27(test5) 31
                              Return
                              FunctionEnd
