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:9  Sequence
0:9    move second child to first child (temp structure{temp int f})
0:9      'single1' (global structure{temp int f})
0:9      Constant:
0:9        10 (const int)
0:12  Sequence
0:12    move second child to first child (temp structure{temp 2-component vector of uint v})
0:12      'single2' (global structure{temp 2-component vector of uint v})
0:12      Constant:
0:12        1 (const uint)
0:12        2 (const uint)
0:15  Sequence
0:15    move second child to first child (temp structure{temp structure{temp int f} s1})
0:15      'single3' (global structure{temp structure{temp int f} s1})
0:15      Constant:
0:15        3 (const int)
0:18  Sequence
0:18    move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
0:18      'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
0:18      Constant:
0:18        4 (const uint)
0:18        5 (const uint)
0:37  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:21    Function Parameters: 
0:21      'input' (in 4-component vector of float)
0:?     Sequence
0:22      Sequence
0:22        move second child to first child (temp 4-component vector of float)
0:22          'a2' (temp 4-component vector of float)
0:?           Constant:
0:?             0.200000
0:?             0.300000
0:?             0.400000
0:?             0.500000
0:32      Sequence
0:32        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32            Constant:
0:32              9 (const int)
0:32            'a5' (global float)
0:32            Construct structure (temp structure{temp float f, temp int i})
0:32              Comma (temp float)
0:32                'a3' (global float)
0:32                'a4' (global float)
0:32              Constant:
0:32                12 (const int)
0:32        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          '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:32            Constant:
0:32              9 (const int)
0:32            'a5' (global float)
0:?             Construct structure (temp structure{temp float f, temp int i})
0:32              Comma (temp float)
0:32                'a3' (global float)
0:32                'a4' (global float)
0:32              Constant:
0:32                12 (const int)
0:33      Sequence
0:33        move second child to first child (temp float)
0:33          'a8' (temp float)
0:33          Comma (temp float)
0:33            'a2' (temp 4-component vector of float)
0:33            'b2' (global float)
0:33        move second child to first child (temp float)
0:33          'a9' (temp float)
0:33          'a5' (global float)
0:35      Branch: Return with expression
0:35        component-wise multiply (temp 4-component vector of float)
0:35          'input' (in 4-component vector of float)
0:35          '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)
0:?     'single1' (global structure{temp int f})
0:?     'single2' (global structure{temp 2-component vector of uint v})
0:?     'single3' (global structure{temp structure{temp int f} s1})
0:?     'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})


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:9  Sequence
0:9    move second child to first child (temp structure{temp int f})
0:9      'single1' (global structure{temp int f})
0:9      Constant:
0:9        10 (const int)
0:12  Sequence
0:12    move second child to first child (temp structure{temp 2-component vector of uint v})
0:12      'single2' (global structure{temp 2-component vector of uint v})
0:12      Constant:
0:12        1 (const uint)
0:12        2 (const uint)
0:15  Sequence
0:15    move second child to first child (temp structure{temp structure{temp int f} s1})
0:15      'single3' (global structure{temp structure{temp int f} s1})
0:15      Constant:
0:15        3 (const int)
0:18  Sequence
0:18    move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
0:18      'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
0:18      Constant:
0:18        4 (const uint)
0:18        5 (const uint)
0:37  Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:21    Function Parameters: 
0:21      'input' (in 4-component vector of float)
0:?     Sequence
0:22      Sequence
0:22        move second child to first child (temp 4-component vector of float)
0:22          'a2' (temp 4-component vector of float)
0:?           Constant:
0:?             0.200000
0:?             0.300000
0:?             0.400000
0:?             0.500000
0:32      Sequence
0:32        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32            Constant:
0:32              9 (const int)
0:32            'a5' (global float)
0:32            Construct structure (temp structure{temp float f, temp int i})
0:32              Comma (temp float)
0:32                'a3' (global float)
0:32                'a4' (global float)
0:32              Constant:
0:32                12 (const int)
0:32        move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
0:32          '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:32            Constant:
0:32              9 (const int)
0:32            'a5' (global float)
0:?             Construct structure (temp structure{temp float f, temp int i})
0:32              Comma (temp float)
0:32                'a3' (global float)
0:32                'a4' (global float)
0:32              Constant:
0:32                12 (const int)
0:33      Sequence
0:33        move second child to first child (temp float)
0:33          'a8' (temp float)
0:33          Comma (temp float)
0:33            'a2' (temp 4-component vector of float)
0:33            'b2' (global float)
0:33        move second child to first child (temp float)
0:33          'a9' (temp float)
0:33          'a5' (global float)
0:35      Branch: Return with expression
0:35        component-wise multiply (temp 4-component vector of float)
0:35          'input' (in 4-component vector of float)
0:35          '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)
0:?     'single1' (global structure{temp int f})
0:?     'single2' (global structure{temp 2-component vector of uint v})
0:?     'single3' (global structure{temp structure{temp int f} s1})
0:?     'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "ShaderFunction" 88
                              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  "Single1"
                              MemberName 33(Single1) 0  "f"
                              Name 35  "single1"
                              Name 40  "Single2"
                              MemberName 40(Single2) 0  "v"
                              Name 42  "single2"
                              Name 47  "Single3"
                              MemberName 47(Single3) 0  "s1"
                              Name 49  "single3"
                              Name 53  "Single4"
                              MemberName 53(Single4) 0  "s1"
                              Name 55  "single4"
                              Name 62  "a2"
                              Name 64  "S1"
                              MemberName 64(S1) 0  "f"
                              MemberName 64(S1) 1  "i"
                              Name 65  "S2"
                              MemberName 65(S2) 0  "j"
                              MemberName 65(S2) 1  "g"
                              MemberName 65(S2) 2  "s1"
                              Name 67  "s2i"
                              Name 70  "a3"
                              Name 71  "a4"
                              Name 76  "s2"
                              Name 82  "a8"
                              Name 83  "b2"
                              Name 85  "a9"
                              Name 88  "input"
                              Name 93  "c4"
                              Name 94  "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:             TypeInt 32 1
     33(Single1):             TypeStruct 32(int)
              34:             TypePointer Private 33(Single1)
     35(single1):     34(ptr) Variable Private
              36:     32(int) Constant 10
              37: 33(Single1) ConstantComposite 36
              38:             TypeInt 32 0
              39:             TypeVector 38(int) 2
     40(Single2):             TypeStruct 39(ivec2)
              41:             TypePointer Private 40(Single2)
     42(single2):     41(ptr) Variable Private
              43:     38(int) Constant 1
              44:     38(int) Constant 2
              45:   39(ivec2) ConstantComposite 43 44
              46: 40(Single2) ConstantComposite 45
     47(Single3):             TypeStruct 33(Single1)
              48:             TypePointer Private 47(Single3)
     49(single3):     48(ptr) Variable Private
              50:     32(int) Constant 3
              51: 33(Single1) ConstantComposite 50
              52: 47(Single3) ConstantComposite 51
     53(Single4):             TypeStruct 40(Single2)
              54:             TypePointer Private 53(Single4)
     55(single4):     54(ptr) Variable Private
              56:     38(int) Constant 4
              57:     38(int) Constant 5
              58:   39(ivec2) ConstantComposite 56 57
              59: 40(Single2) ConstantComposite 58
              60: 53(Single4) ConstantComposite 59
              61:             TypePointer Function 7(fvec4)
              63:    7(fvec4) ConstantComposite 24 26 28 11
          64(S1):             TypeStruct 6(float) 32(int)
          65(S2):             TypeStruct 32(int) 6(float) 64(S1)
              66:             TypePointer Function 65(S2)
              68:     32(int) Constant 9
          70(a3):     22(ptr) Variable Private
          71(a4):     22(ptr) Variable Private
              73:     32(int) Constant 12
              81:             TypePointer Function 6(float)
          83(b2):     22(ptr) Variable Private
              87:             TypePointer Input 7(fvec4)
       88(input):     87(ptr) Variable Input
          93(c4):     22(ptr) Variable Private
          94(b5):     22(ptr) Variable Private
4(ShaderFunction):           2 Function None 3
               5:             Label
          62(a2):     61(ptr) Variable Function
         67(s2i):     66(ptr) Variable Function
          76(s2):     66(ptr) Variable Function
          82(a8):     81(ptr) Variable Function
          85(a9):     81(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 35(single1) 37
                              Store 42(single2) 46
                              Store 49(single3) 52
                              Store 55(single4) 60
                              Store 62(a2) 63
              69:    6(float) Load 29(a5)
              72:    6(float) Load 71(a4)
              74:      64(S1) CompositeConstruct 72 73
              75:      65(S2) CompositeConstruct 68 69 74
                              Store 67(s2i) 75
              77:    6(float) Load 29(a5)
              78:    6(float) Load 71(a4)
              79:      64(S1) CompositeConstruct 78 73
              80:      65(S2) CompositeConstruct 68 77 79
                              Store 76(s2) 80
              84:    6(float) Load 83(b2)
                              Store 82(a8) 84
              86:    6(float) Load 29(a5)
                              Store 85(a9) 86
              89:    7(fvec4) Load 88(input)
              90:    7(fvec4) Load 9(a1)
              91:    7(fvec4) FMul 89 90
                              ReturnValue 91
                              FunctionEnd
