hlsl.init.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:1  Sequence
0:1    move second child to first child (temp 4-component vector of float)
0:1      'a1' (global 4-component vector of float)
0:?       Constant:
0:?         1.000000
0:?         0.500000
0:?         0.000000
0:?         1.000000
0:1    move second child to first child (temp 4-component vector of float)
0:1      'b1' (global 4-component vector of float)
0:?       Constant:
0:?         2.000000
0:?         2.500000
0:?         2.100000
0:?         2.200000
0:2  Sequence
0:2    move second child to first child (temp 4-component vector of float)
0:2      'a1i' (global 4-component vector of float)
0:2      Constant:
0:2        1.000000
0:2        0.500000
0:2        0.000000
0:2        1.000000
0:2    move second child to first child (temp 4-component vector of float)
0:2      'b1i' (global 4-component vector of float)
0:2      Constant:
0:2        2.000000
0:2        2.500000
0:2        2.100000
0:2        2.200000
0:3  Sequence
0:3    move second child to first child (temp float)
0:3      'a2' (global float)
0:3      Constant:
0:3        0.200000
0:4  Sequence
0:4    move second child to first child (temp float)
0:4      'b3' (global float)
0:4      Constant:
0:4        0.300000
0:5  Sequence
0:5    move second child to first child (temp float)
0:5      'b4' (global float)
0:5      Constant:
0:5        0.400000
0:6  Sequence
0:6    move second child to first child (temp float)
0:6      'a5' (global float)
0:6      Constant:
0:6        0.500000
0:6    move second child to first child (temp float)
0:6      'c5' (global float)
0:6      Constant:
0:6        1.500000
0:25  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9    Function Parameters: 
0:9      'input' (in 4-component vector of float)
0:?     Sequence
0:10      Sequence
0:10        move second child to first child (temp 4-component vector of float)
0:10          'a2' (temp 4-component vector of float)
0:?           Constant:
0:?             0.200000
0:?             0.300000
0:?             0.400000
0:?             0.500000
0:20      Sequence
0:20        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20            Constant:
0:20              9 (const int)
0:20            'a5' (global float)
0:20            Construct structure (temp structure{temp float f, temp int i})
0:20              Comma (temp float)
0:20                'a3' (global float)
0:20                'a4' (global float)
0:20              Constant:
0:20                12 (const int)
0:20        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:?           Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20            Constant:
0:20              9 (const int)
0:20            'a5' (global float)
0:?             Construct structure (temp structure{temp float f, temp int i})
0:20              Comma (temp float)
0:20                'a3' (global float)
0:20                'a4' (global float)
0:20              Constant:
0:20                12 (const int)
0:21      Sequence
0:21        move second child to first child (temp float)
0:21          'a8' (temp float)
0:21          Comma (temp float)
0:21            'a2' (temp 4-component vector of float)
0:21            'b2' (global float)
0:21        move second child to first child (temp float)
0:21          'a9' (temp float)
0:21          'a5' (global float)
0:23      Branch: Return with expression
0:23        component-wise multiply (temp 4-component vector of float)
0:23          'input' (in 4-component vector of float)
0:23          'a1' (global 4-component vector of float)
0:?   Linker Objects
0:?     'a1' (global 4-component vector of float)
0:?     'b1' (global 4-component vector of float)
0:?     'a1i' (global 4-component vector of float)
0:?     'b1i' (global 4-component vector of float)
0:?     'a2' (global float)
0:?     'b2' (global float)
0:?     'a3' (global float)
0:?     'b3' (global float)
0:?     'a4' (global float)
0:?     'b4' (global float)
0:?     'c4' (global float)
0:?     'a5' (global float)
0:?     'b5' (global float)
0:?     'c5' (global float)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:1  Sequence
0:1    move second child to first child (temp 4-component vector of float)
0:1      'a1' (global 4-component vector of float)
0:?       Constant:
0:?         1.000000
0:?         0.500000
0:?         0.000000
0:?         1.000000
0:1    move second child to first child (temp 4-component vector of float)
0:1      'b1' (global 4-component vector of float)
0:?       Constant:
0:?         2.000000
0:?         2.500000
0:?         2.100000
0:?         2.200000
0:2  Sequence
0:2    move second child to first child (temp 4-component vector of float)
0:2      'a1i' (global 4-component vector of float)
0:2      Constant:
0:2        1.000000
0:2        0.500000
0:2        0.000000
0:2        1.000000
0:2    move second child to first child (temp 4-component vector of float)
0:2      'b1i' (global 4-component vector of float)
0:2      Constant:
0:2        2.000000
0:2        2.500000
0:2        2.100000
0:2        2.200000
0:3  Sequence
0:3    move second child to first child (temp float)
0:3      'a2' (global float)
0:3      Constant:
0:3        0.200000
0:4  Sequence
0:4    move second child to first child (temp float)
0:4      'b3' (global float)
0:4      Constant:
0:4        0.300000
0:5  Sequence
0:5    move second child to first child (temp float)
0:5      'b4' (global float)
0:5      Constant:
0:5        0.400000
0:6  Sequence
0:6    move second child to first child (temp float)
0:6      'a5' (global float)
0:6      Constant:
0:6        0.500000
0:6    move second child to first child (temp float)
0:6      'c5' (global float)
0:6      Constant:
0:6        1.500000
0:25  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9    Function Parameters: 
0:9      'input' (in 4-component vector of float)
0:?     Sequence
0:10      Sequence
0:10        move second child to first child (temp 4-component vector of float)
0:10          'a2' (temp 4-component vector of float)
0:?           Constant:
0:?             0.200000
0:?             0.300000
0:?             0.400000
0:?             0.500000
0:20      Sequence
0:20        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20            Constant:
0:20              9 (const int)
0:20            'a5' (global float)
0:20            Construct structure (temp structure{temp float f, temp int i})
0:20              Comma (temp float)
0:20                'a3' (global float)
0:20                'a4' (global float)
0:20              Constant:
0:20                12 (const int)
0:20        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20          's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:?           Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:20            Constant:
0:20              9 (const int)
0:20            'a5' (global float)
0:?             Construct structure (temp structure{temp float f, temp int i})
0:20              Comma (temp float)
0:20                'a3' (global float)
0:20                'a4' (global float)
0:20              Constant:
0:20                12 (const int)
0:21      Sequence
0:21        move second child to first child (temp float)
0:21          'a8' (temp float)
0:21          Comma (temp float)
0:21            'a2' (temp 4-component vector of float)
0:21            'b2' (global float)
0:21        move second child to first child (temp float)
0:21          'a9' (temp float)
0:21          'a5' (global float)
0:23      Branch: Return with expression
0:23        component-wise multiply (temp 4-component vector of float)
0:23          'input' (in 4-component vector of float)
0:23          'a1' (global 4-component vector of float)
0:?   Linker Objects
0:?     'a1' (global 4-component vector of float)
0:?     'b1' (global 4-component vector of float)
0:?     'a1i' (global 4-component vector of float)
0:?     'b1i' (global 4-component vector of float)
0:?     'a2' (global float)
0:?     'b2' (global float)
0:?     'a3' (global float)
0:?     'b3' (global float)
0:?     'a4' (global float)
0:?     'b4' (global float)
0:?     'c4' (global float)
0:?     'a5' (global float)
0:?     'b5' (global float)
0:?     'c5' (global float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "ShaderFunction" 60
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 450
                              Name 4  "ShaderFunction"
                              Name 9  "a1"
                              Name 14  "b1"
                              Name 20  "a1i"
                              Name 21  "b1i"
                              Name 23  "a2"
                              Name 25  "b3"
                              Name 27  "b4"
                              Name 29  "a5"
                              Name 30  "c5"
                              Name 33  "a2"
                              Name 36  "S1"
                              MemberName 36(S1) 0  "f"
                              MemberName 36(S1) 1  "i"
                              Name 37  "S2"
                              MemberName 37(S2) 0  "j"
                              MemberName 37(S2) 1  "g"
                              MemberName 37(S2) 2  "s1"
                              Name 39  "s2i"
                              Name 42  "a3"
                              Name 43  "a4"
                              Name 48  "s2"
                              Name 54  "a8"
                              Name 55  "b2"
                              Name 57  "a9"
                              Name 60  "input"
                              Name 65  "c4"
                              Name 66  "b5"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Private 7(fvec4)
           9(a1):      8(ptr) Variable Private
              10:    6(float) Constant 1065353216
              11:    6(float) Constant 1056964608
              12:    6(float) Constant 0
              13:    7(fvec4) ConstantComposite 10 11 12 10
          14(b1):      8(ptr) Variable Private
              15:    6(float) Constant 1073741824
              16:    6(float) Constant 1075838976
              17:    6(float) Constant 1074161254
              18:    6(float) Constant 1074580685
              19:    7(fvec4) ConstantComposite 15 16 17 18
         20(a1i):      8(ptr) Variable Private
         21(b1i):      8(ptr) Variable Private
              22:             TypePointer Private 6(float)
          23(a2):     22(ptr) Variable Private
              24:    6(float) Constant 1045220557
          25(b3):     22(ptr) Variable Private
              26:    6(float) Constant 1050253722
          27(b4):     22(ptr) Variable Private
              28:    6(float) Constant 1053609165
          29(a5):     22(ptr) Variable Private
          30(c5):     22(ptr) Variable Private
              31:    6(float) Constant 1069547520
              32:             TypePointer Function 7(fvec4)
              34:    7(fvec4) ConstantComposite 24 26 28 11
              35:             TypeInt 32 1
          36(S1):             TypeStruct 6(float) 35(int)
          37(S2):             TypeStruct 35(int) 6(float) 36(S1)
              38:             TypePointer Function 37(S2)
              40:     35(int) Constant 9
          42(a3):     22(ptr) Variable Private
          43(a4):     22(ptr) Variable Private
              45:     35(int) Constant 12
              53:             TypePointer Function 6(float)
          55(b2):     22(ptr) Variable Private
              59:             TypePointer Input 7(fvec4)
       60(input):     59(ptr) Variable Input
          65(c4):     22(ptr) Variable Private
          66(b5):     22(ptr) Variable Private
4(ShaderFunction):           2 Function None 3
               5:             Label
          33(a2):     32(ptr) Variable Function
         39(s2i):     38(ptr) Variable Function
          48(s2):     38(ptr) Variable Function
          54(a8):     53(ptr) Variable Function
          57(a9):     53(ptr) Variable Function
                              Store 9(a1) 13
                              Store 14(b1) 19
                              Store 20(a1i) 13
                              Store 21(b1i) 19
                              Store 23(a2) 24
                              Store 25(b3) 26
                              Store 27(b4) 28
                              Store 29(a5) 11
                              Store 30(c5) 31
                              Store 33(a2) 34
              41:    6(float) Load 29(a5)
              44:    6(float) Load 43(a4)
              46:      36(S1) CompositeConstruct 44 45
              47:      37(S2) CompositeConstruct 40 41 46
                              Store 39(s2i) 47
              49:    6(float) Load 29(a5)
              50:    6(float) Load 43(a4)
              51:      36(S1) CompositeConstruct 50 45
              52:      37(S2) CompositeConstruct 40 49 51
                              Store 48(s2) 52
              56:    6(float) Load 55(b2)
                              Store 54(a8) 56
              58:    6(float) Load 29(a5)
                              Store 57(a9) 58
              61:    7(fvec4) Load 60(input)
              62:    7(fvec4) Load 9(a1)
              63:    7(fvec4) FMul 61 62
                              ReturnValue 63
                              FunctionEnd
