hlsl.partialInit.frag
WARNING: 0:35: 'cgf2a' : variable with qualifier 'const' not initialized; zero initializing 
WARNING: 0:36: 'ci' : variable with qualifier 'const' not initialized; zero initializing 

Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Sequence
0:8    move second child to first child ( temp 4-component vector of float)
0:8      'gv' ( global 4-component vector of float)
0:8      Constant:
0:8        0.000000
0:8        0.000000
0:8        1.000000
0:8        0.000000
0:9  Sequence
0:9    move second child to first child ( temp 3-element array of float)
0:9      'gfa' ( global 3-element array of float)
0:9      Constant:
0:9        0.000000
0:9        0.000000
0:9        0.000000
0:18  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18    Function Parameters: 
0:18      'input' ( in 4-component vector of float)
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:19          'o2' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:19          Constant:
0:19            3 (const int)
0:19            0.000000
0:19            false (const bool)
0:19            0.000000
0:19            0.000000
0:19            0.000000
0:19            0.000000
0:21      move second child to first child ( temp 4-component vector of float)
0:21        v: direct index for structure ( temp 4-component vector of float)
0:21          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:21          Constant:
0:21            3 (const int)
0:21        vector-scale ( temp 4-component vector of float)
0:21          'gv' ( global 4-component vector of float)
0:21          direct index ( temp float)
0:21            'gfa' ( global 3-element array of float)
0:21            Constant:
0:21              2 (const int)
0:22      Sequence
0:22        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:22          'o1' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:22          Constant:
0:22            0 (const int)
0:22            0.000000
0:22            false (const bool)
0:22            0.000000
0:22            0.000000
0:22            0.000000
0:22            0.000000
0:23      Sequence
0:23        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:23          'o3' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:23          Constant:
0:23            0 (const int)
0:23            0.000000
0:23            false (const bool)
0:23            0.000000
0:23            0.000000
0:23            0.000000
0:23            0.000000
0:24      move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:24        'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:24        Constant:
0:24          0 (const int)
0:24          0.000000
0:24          false (const bool)
0:24          0.000000
0:24          0.000000
0:24          0.000000
0:24          0.000000
0:25      move second child to first child ( temp bool)
0:25        c: direct index for structure ( temp bool)
0:25          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:25          Constant:
0:25            2 (const int)
0:25        c: direct index for structure ( temp bool)
0:25          'o1' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:25          Constant:
0:25            2 (const int)
0:26      Sequence
0:26        move second child to first child ( temp structure{ temp 4X3 matrix of float m,  temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v} os,  temp bool b})
0:26          'nest' ( temp structure{ temp 4X3 matrix of float m,  temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v} os,  temp bool b})
0:26          Constant:
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0 (const int)
0:26            0.000000
0:26            false (const bool)
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            false (const bool)
0:28      Sequence
0:28        move second child to first child ( temp 4-element array of 2-component vector of float)
0:28          'gf2a' ( temp 4-element array of 2-component vector of float)
0:28          Constant:
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:29      Sequence
0:29        move second child to first child ( temp int)
0:29          'cgi' ( temp int)
0:29          Constant:
0:29            0 (const int)
0:30      move second child to first child ( temp float)
0:30        b: direct index for structure ( temp float)
0:30          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:30          Constant:
0:30            1 (const int)
0:30        component-wise multiply ( temp float)
0:30          direct index ( temp float)
0:30            direct index ( temp 2-component vector of float)
0:30              'gf2a' ( temp 4-element array of 2-component vector of float)
0:30              Constant:
0:30                2 (const int)
0:30            Constant:
0:30              1 (const int)
0:30          Convert int to float ( temp float)
0:30            'cgi' ( temp int)
0:32      Branch: Return with expression
0:32        'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18  Function Definition: PixelShaderFunction( ( temp void)
0:18    Function Parameters: 
0:?     Sequence
0:18      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:18      Sequence
0:18        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18          'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18          Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:?             'input' ( temp 4-component vector of float)
0:18        move second child to first child ( temp int)
0:?           '@entryPointOutput.a' (layout( location=0) out int)
0:18          a: direct index for structure ( temp int)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              0 (const int)
0:18        move second child to first child ( temp float)
0:?           '@entryPointOutput.b' (layout( location=1) out float)
0:18          b: direct index for structure ( temp float)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              1 (const int)
0:18        move second child to first child ( temp bool)
0:?           '@entryPointOutput.c' (layout( location=2) out bool)
0:18          c: direct index for structure ( temp bool)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              2 (const int)
0:18        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.v' (layout( location=3) out 4-component vector of float)
0:18          v: direct index for structure ( temp 4-component vector of float)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              3 (const int)
0:?   Linker Objects
0:?     'gv' ( global 4-component vector of float)
0:?     'gfa' ( global 3-element array of float)
0:?     '@entryPointOutput.a' (layout( location=0) out int)
0:?     '@entryPointOutput.b' (layout( location=1) out float)
0:?     '@entryPointOutput.c' (layout( location=2) out bool)
0:?     '@entryPointOutput.v' (layout( location=3) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     'cgf2a' ( const 3-element array of 2-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'ci' ( const int)
0:?       0 (const int)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:8  Sequence
0:8    move second child to first child ( temp 4-component vector of float)
0:8      'gv' ( global 4-component vector of float)
0:8      Constant:
0:8        0.000000
0:8        0.000000
0:8        1.000000
0:8        0.000000
0:9  Sequence
0:9    move second child to first child ( temp 3-element array of float)
0:9      'gfa' ( global 3-element array of float)
0:9      Constant:
0:9        0.000000
0:9        0.000000
0:9        0.000000
0:18  Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18    Function Parameters: 
0:18      'input' ( in 4-component vector of float)
0:?     Sequence
0:19      Sequence
0:19        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:19          'o2' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:19          Constant:
0:19            3 (const int)
0:19            0.000000
0:19            false (const bool)
0:19            0.000000
0:19            0.000000
0:19            0.000000
0:19            0.000000
0:21      move second child to first child ( temp 4-component vector of float)
0:21        v: direct index for structure ( temp 4-component vector of float)
0:21          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:21          Constant:
0:21            3 (const int)
0:21        vector-scale ( temp 4-component vector of float)
0:21          'gv' ( global 4-component vector of float)
0:21          direct index ( temp float)
0:21            'gfa' ( global 3-element array of float)
0:21            Constant:
0:21              2 (const int)
0:22      Sequence
0:22        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:22          'o1' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:22          Constant:
0:22            0 (const int)
0:22            0.000000
0:22            false (const bool)
0:22            0.000000
0:22            0.000000
0:22            0.000000
0:22            0.000000
0:23      Sequence
0:23        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:23          'o3' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:23          Constant:
0:23            0 (const int)
0:23            0.000000
0:23            false (const bool)
0:23            0.000000
0:23            0.000000
0:23            0.000000
0:23            0.000000
0:24      move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:24        'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:24        Constant:
0:24          0 (const int)
0:24          0.000000
0:24          false (const bool)
0:24          0.000000
0:24          0.000000
0:24          0.000000
0:24          0.000000
0:25      move second child to first child ( temp bool)
0:25        c: direct index for structure ( temp bool)
0:25          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:25          Constant:
0:25            2 (const int)
0:25        c: direct index for structure ( temp bool)
0:25          'o1' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:25          Constant:
0:25            2 (const int)
0:26      Sequence
0:26        move second child to first child ( temp structure{ temp 4X3 matrix of float m,  temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v} os,  temp bool b})
0:26          'nest' ( temp structure{ temp 4X3 matrix of float m,  temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v} os,  temp bool b})
0:26          Constant:
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0 (const int)
0:26            0.000000
0:26            false (const bool)
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            0.000000
0:26            false (const bool)
0:28      Sequence
0:28        move second child to first child ( temp 4-element array of 2-component vector of float)
0:28          'gf2a' ( temp 4-element array of 2-component vector of float)
0:28          Constant:
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:28            0.000000
0:29      Sequence
0:29        move second child to first child ( temp int)
0:29          'cgi' ( temp int)
0:29          Constant:
0:29            0 (const int)
0:30      move second child to first child ( temp float)
0:30        b: direct index for structure ( temp float)
0:30          'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:30          Constant:
0:30            1 (const int)
0:30        component-wise multiply ( temp float)
0:30          direct index ( temp float)
0:30            direct index ( temp 2-component vector of float)
0:30              'gf2a' ( temp 4-element array of 2-component vector of float)
0:30              Constant:
0:30                2 (const int)
0:30            Constant:
0:30              1 (const int)
0:30          Convert int to float ( temp float)
0:30            'cgi' ( temp int)
0:32      Branch: Return with expression
0:32        'o4' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18  Function Definition: PixelShaderFunction( ( temp void)
0:18    Function Parameters: 
0:?     Sequence
0:18      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:18      Sequence
0:18        move second child to first child ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18          'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18          Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:?             'input' ( temp 4-component vector of float)
0:18        move second child to first child ( temp int)
0:?           '@entryPointOutput.a' (layout( location=0) out int)
0:18          a: direct index for structure ( temp int)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              0 (const int)
0:18        move second child to first child ( temp float)
0:?           '@entryPointOutput.b' (layout( location=1) out float)
0:18          b: direct index for structure ( temp float)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              1 (const int)
0:18        move second child to first child ( temp bool)
0:?           '@entryPointOutput.c' (layout( location=2) out bool)
0:18          c: direct index for structure ( temp bool)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              2 (const int)
0:18        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.v' (layout( location=3) out 4-component vector of float)
0:18          v: direct index for structure ( temp 4-component vector of float)
0:18            'flattenTemp' ( temp structure{ temp int a,  temp float b,  temp bool c,  temp 4-component vector of float v})
0:18            Constant:
0:18              3 (const int)
0:?   Linker Objects
0:?     'gv' ( global 4-component vector of float)
0:?     'gfa' ( global 3-element array of float)
0:?     '@entryPointOutput.a' (layout( location=0) out int)
0:?     '@entryPointOutput.b' (layout( location=1) out float)
0:?     '@entryPointOutput.c' (layout( location=2) out bool)
0:?     '@entryPointOutput.v' (layout( location=3) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     'cgf2a' ( const 3-element array of 2-component vector of float)
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?       0.000000
0:?     'ci' ( const int)
0:?       0 (const int)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 80 87 91 95 99
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "outs"
                              MemberName 11(outs) 0  "a"
                              MemberName 11(outs) 1  "b"
                              MemberName 11(outs) 2  "c"
                              MemberName 11(outs) 3  "v"
                              Name 14  "@PixelShaderFunction(vf4;"
                              Name 13  "input"
                              Name 17  "gv"
                              Name 25  "gfa"
                              Name 28  "o2"
                              Name 33  "o4"
                              Name 41  "o1"
                              Name 44  "o3"
                              Name 51  "Nest"
                              MemberName 51(Nest) 0  "m"
                              MemberName 51(Nest) 1  "os"
                              MemberName 51(Nest) 2  "b"
                              Name 53  "nest"
                              Name 61  "gf2a"
                              Name 65  "cgi"
                              Name 78  "input"
                              Name 80  "input"
                              Name 82  "flattenTemp"
                              Name 83  "param"
                              Name 87  "@entryPointOutput.a"
                              Name 91  "@entryPointOutput.b"
                              Name 95  "@entryPointOutput.c"
                              Name 99  "@entryPointOutput.v"
                              Decorate 80(input) Location 0
                              Decorate 87(@entryPointOutput.a) Location 0
                              Decorate 91(@entryPointOutput.b) Location 1
                              Decorate 95(@entryPointOutput.c) Location 2
                              Decorate 99(@entryPointOutput.v) Location 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeInt 32 1
              10:             TypeBool
        11(outs):             TypeStruct 9(int) 6(float) 10(bool) 7(fvec4)
              12:             TypeFunction 11(outs) 8(ptr)
              16:             TypePointer Private 7(fvec4)
          17(gv):     16(ptr) Variable Private
              18:    6(float) Constant 0
              19:    6(float) Constant 1065353216
              20:    7(fvec4) ConstantComposite 18 18 19 18
              21:             TypeInt 32 0
              22:     21(int) Constant 3
              23:             TypeArray 6(float) 22
              24:             TypePointer Private 23
         25(gfa):     24(ptr) Variable Private
              26:          23 ConstantComposite 18 18 18
              27:             TypePointer Function 11(outs)
              29:      9(int) Constant 3
              30:    10(bool) ConstantFalse
              31:    7(fvec4) ConstantComposite 18 18 18 18
              32:    11(outs) ConstantComposite 29 18 30 31
              35:      9(int) Constant 2
              36:             TypePointer Private 6(float)
              42:      9(int) Constant 0
              43:    11(outs) ConstantComposite 42 18 30 31
              45:             TypePointer Function 10(bool)
              49:             TypeVector 6(float) 3
              50:             TypeMatrix 49(fvec3) 4
        51(Nest):             TypeStruct 50 11(outs) 10(bool)
              52:             TypePointer Function 51(Nest)
              54:   49(fvec3) ConstantComposite 18 18 18
              55:          50 ConstantComposite 54 54 54 54
              56:    51(Nest) ConstantComposite 55 43 30
              57:             TypeVector 6(float) 2
              58:     21(int) Constant 4
              59:             TypeArray 57(fvec2) 58
              60:             TypePointer Function 59
              62:   57(fvec2) ConstantComposite 18 18
              63:          59 ConstantComposite 62 62 62 62
              64:             TypePointer Function 9(int)
              66:      9(int) Constant 1
              67:     21(int) Constant 1
              68:             TypePointer Function 6(float)
              79:             TypePointer Input 7(fvec4)
       80(input):     79(ptr) Variable Input
              86:             TypePointer Output 9(int)
87(@entryPointOutput.a):     86(ptr) Variable Output
              90:             TypePointer Output 6(float)
91(@entryPointOutput.b):     90(ptr) Variable Output
              94:             TypePointer Output 10(bool)
95(@entryPointOutput.c):     94(ptr) Variable Output
              98:             TypePointer Output 7(fvec4)
99(@entryPointOutput.v):     98(ptr) Variable Output
             102:             TypeArray 57(fvec2) 22
             103:         102 ConstantComposite 62 62 62
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       78(input):      8(ptr) Variable Function
 82(flattenTemp):     27(ptr) Variable Function
       83(param):      8(ptr) Variable Function
                              Store 17(gv) 20
                              Store 25(gfa) 26
              81:    7(fvec4) Load 80(input)
                              Store 78(input) 81
              84:    7(fvec4) Load 78(input)
                              Store 83(param) 84
              85:    11(outs) FunctionCall 14(@PixelShaderFunction(vf4;) 83(param)
                              Store 82(flattenTemp) 85
              88:     64(ptr) AccessChain 82(flattenTemp) 42
              89:      9(int) Load 88
                              Store 87(@entryPointOutput.a) 89
              92:     68(ptr) AccessChain 82(flattenTemp) 66
              93:    6(float) Load 92
                              Store 91(@entryPointOutput.b) 93
              96:     45(ptr) AccessChain 82(flattenTemp) 35
              97:    10(bool) Load 96
                              Store 95(@entryPointOutput.c) 97
             100:      8(ptr) AccessChain 82(flattenTemp) 29
             101:    7(fvec4) Load 100
                              Store 99(@entryPointOutput.v) 101
                              Return
                              FunctionEnd
14(@PixelShaderFunction(vf4;):    11(outs) Function None 12
       13(input):      8(ptr) FunctionParameter
              15:             Label
          28(o2):     27(ptr) Variable Function
          33(o4):     27(ptr) Variable Function
          41(o1):     27(ptr) Variable Function
          44(o3):     27(ptr) Variable Function
        53(nest):     52(ptr) Variable Function
        61(gf2a):     60(ptr) Variable Function
         65(cgi):     64(ptr) Variable Function
                              Store 28(o2) 32
              34:    7(fvec4) Load 17(gv)
              37:     36(ptr) AccessChain 25(gfa) 35
              38:    6(float) Load 37
              39:    7(fvec4) VectorTimesScalar 34 38
              40:      8(ptr) AccessChain 33(o4) 29
                              Store 40 39
                              Store 41(o1) 43
                              Store 44(o3) 43
                              Store 33(o4) 43
              46:     45(ptr) AccessChain 41(o1) 35
              47:    10(bool) Load 46
              48:     45(ptr) AccessChain 33(o4) 35
                              Store 48 47
                              Store 53(nest) 56
                              Store 61(gf2a) 63
                              Store 65(cgi) 42
              69:     68(ptr) AccessChain 61(gf2a) 35 67
              70:    6(float) Load 69
              71:      9(int) Load 65(cgi)
              72:    6(float) ConvertSToF 71
              73:    6(float) FMul 70 72
              74:     68(ptr) AccessChain 33(o4) 66
                              Store 74 73
              75:    11(outs) Load 33(o4)
                              ReturnValue 75
                              FunctionEnd
