hlsl.matrixindex.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:10    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'e1_00' ( temp float)
0:22          Constant:
0:22            10.000000
0:23      Sequence
0:23        move second child to first child ( temp float)
0:23          'e1_01' ( temp float)
0:23          Constant:
0:23            11.000000
0:24      Sequence
0:24        move second child to first child ( temp float)
0:24          'e1_10' ( temp float)
0:24          Constant:
0:24            12.000000
0:25      Sequence
0:25        move second child to first child ( temp float)
0:25          'e1_11' ( temp float)
0:25          Constant:
0:25            13.000000
0:26      Sequence
0:26        move second child to first child ( temp float)
0:26          'e1_20' ( temp float)
0:26          Constant:
0:26            14.000000
0:27      Sequence
0:27        move second child to first child ( temp float)
0:27          'e1_21' ( temp float)
0:27          Constant:
0:27            15.000000
0:29      Sequence
0:29        move second child to first child ( temp float)
0:29          'e2_00' ( temp float)
0:29          Constant:
0:29            20.000000
0:30      Sequence
0:30        move second child to first child ( temp float)
0:30          'e2_01' ( temp float)
0:30          Constant:
0:30            21.000000
0:31      Sequence
0:31        move second child to first child ( temp float)
0:31          'e2_10' ( temp float)
0:31          Constant:
0:31            22.000000
0:32      Sequence
0:32        move second child to first child ( temp float)
0:32          'e2_11' ( temp float)
0:32          Constant:
0:32            23.000000
0:33      Sequence
0:33        move second child to first child ( temp float)
0:33          'e2_20' ( temp float)
0:33          Constant:
0:33            24.000000
0:34      Sequence
0:34        move second child to first child ( temp float)
0:34          'e2_21' ( temp float)
0:34          Constant:
0:34            25.000000
0:39      Sequence
0:39        move second child to first child ( temp 2-component vector of float)
0:39          'r0a' ( temp 2-component vector of float)
0:39          Constant:
0:39            10.000000
0:39            11.000000
0:40      Sequence
0:40        move second child to first child ( temp 2-component vector of float)
0:40          'r1a' ( temp 2-component vector of float)
0:40          Constant:
0:40            12.000000
0:40            13.000000
0:41      Sequence
0:41        move second child to first child ( temp 2-component vector of float)
0:41          'r2a' ( temp 2-component vector of float)
0:41          Constant:
0:41            14.000000
0:41            15.000000
0:43      Sequence
0:43        move second child to first child ( temp 2-component vector of float)
0:43          'r0b' ( temp 2-component vector of float)
0:43          indirect index ( temp 2-component vector of float)
0:43            Constant:
0:43              20.000000
0:43              21.000000
0:43              22.000000
0:43              23.000000
0:43              24.000000
0:43              25.000000
0:43            idx: direct index for structure ( uniform int)
0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:43              Constant:
0:43                0 (const uint)
0:44      Sequence
0:44        move second child to first child ( temp 2-component vector of float)
0:44          'r0c' ( temp 2-component vector of float)
0:44          indirect index ( temp 2-component vector of float)
0:44            um: direct index for structure ( uniform 3X2 matrix of float)
0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:44              Constant:
0:44                1 (const uint)
0:44            idx: direct index for structure ( uniform int)
0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:44              Constant:
0:44                0 (const uint)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        Color: direct index for structure ( temp 4-component vector of float)
0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
0:47          Constant:
0:47            0 (const int)
0:47        Construct vec4 ( temp 4-component vector of float)
0:47          'e2_11' ( temp float)
0:48      Branch: Return with expression
0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:10          Color: direct index for structure ( temp 4-component vector of float)
0:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:10            Constant:
0:10              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:10    Function Parameters: 
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'e1_00' ( temp float)
0:22          Constant:
0:22            10.000000
0:23      Sequence
0:23        move second child to first child ( temp float)
0:23          'e1_01' ( temp float)
0:23          Constant:
0:23            11.000000
0:24      Sequence
0:24        move second child to first child ( temp float)
0:24          'e1_10' ( temp float)
0:24          Constant:
0:24            12.000000
0:25      Sequence
0:25        move second child to first child ( temp float)
0:25          'e1_11' ( temp float)
0:25          Constant:
0:25            13.000000
0:26      Sequence
0:26        move second child to first child ( temp float)
0:26          'e1_20' ( temp float)
0:26          Constant:
0:26            14.000000
0:27      Sequence
0:27        move second child to first child ( temp float)
0:27          'e1_21' ( temp float)
0:27          Constant:
0:27            15.000000
0:29      Sequence
0:29        move second child to first child ( temp float)
0:29          'e2_00' ( temp float)
0:29          Constant:
0:29            20.000000
0:30      Sequence
0:30        move second child to first child ( temp float)
0:30          'e2_01' ( temp float)
0:30          Constant:
0:30            21.000000
0:31      Sequence
0:31        move second child to first child ( temp float)
0:31          'e2_10' ( temp float)
0:31          Constant:
0:31            22.000000
0:32      Sequence
0:32        move second child to first child ( temp float)
0:32          'e2_11' ( temp float)
0:32          Constant:
0:32            23.000000
0:33      Sequence
0:33        move second child to first child ( temp float)
0:33          'e2_20' ( temp float)
0:33          Constant:
0:33            24.000000
0:34      Sequence
0:34        move second child to first child ( temp float)
0:34          'e2_21' ( temp float)
0:34          Constant:
0:34            25.000000
0:39      Sequence
0:39        move second child to first child ( temp 2-component vector of float)
0:39          'r0a' ( temp 2-component vector of float)
0:39          Constant:
0:39            10.000000
0:39            11.000000
0:40      Sequence
0:40        move second child to first child ( temp 2-component vector of float)
0:40          'r1a' ( temp 2-component vector of float)
0:40          Constant:
0:40            12.000000
0:40            13.000000
0:41      Sequence
0:41        move second child to first child ( temp 2-component vector of float)
0:41          'r2a' ( temp 2-component vector of float)
0:41          Constant:
0:41            14.000000
0:41            15.000000
0:43      Sequence
0:43        move second child to first child ( temp 2-component vector of float)
0:43          'r0b' ( temp 2-component vector of float)
0:43          indirect index ( temp 2-component vector of float)
0:43            Constant:
0:43              20.000000
0:43              21.000000
0:43              22.000000
0:43              23.000000
0:43              24.000000
0:43              25.000000
0:43            idx: direct index for structure ( uniform int)
0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:43              Constant:
0:43                0 (const uint)
0:44      Sequence
0:44        move second child to first child ( temp 2-component vector of float)
0:44          'r0c' ( temp 2-component vector of float)
0:44          indirect index ( temp 2-component vector of float)
0:44            um: direct index for structure ( uniform 3X2 matrix of float)
0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:44              Constant:
0:44                1 (const uint)
0:44            idx: direct index for structure ( uniform int)
0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:44              Constant:
0:44                0 (const uint)
0:47      move second child to first child ( temp 4-component vector of float)
0:47        Color: direct index for structure ( temp 4-component vector of float)
0:47          'psout' ( temp structure{ temp 4-component vector of float Color})
0:47          Constant:
0:47            0 (const int)
0:47        Construct vec4 ( temp 4-component vector of float)
0:47          'e2_11' ( temp float)
0:48      Branch: Return with expression
0:48        'psout' ( temp structure{ temp 4-component vector of float Color})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:10          Color: direct index for structure ( temp 4-component vector of float)
0:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:10            Constant:
0:10              0 (const int)
0:?   Linker Objects
0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 80
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              Name 10  "@main("
                              Name 13  "e1_00"
                              Name 15  "e1_01"
                              Name 17  "e1_10"
                              Name 19  "e1_11"
                              Name 21  "e1_20"
                              Name 23  "e1_21"
                              Name 25  "e2_00"
                              Name 27  "e2_01"
                              Name 29  "e2_10"
                              Name 31  "e2_11"
                              Name 33  "e2_20"
                              Name 35  "e2_21"
                              Name 39  "r0a"
                              Name 41  "r1a"
                              Name 43  "r2a"
                              Name 45  "r0b"
                              Name 52  "$Global"
                              MemberName 52($Global) 0  "idx"
                              MemberName 52($Global) 1  "um"
                              Name 54  ""
                              Name 60  "indexable"
                              Name 63  "r0c"
                              Name 71  "psout"
                              Name 80  "@entryPointOutput.Color"
                              MemberDecorate 52($Global) 0 Offset 0
                              MemberDecorate 52($Global) 1 RowMajor
                              MemberDecorate 52($Global) 1 Offset 16
                              MemberDecorate 52($Global) 1 MatrixStride 16
                              Decorate 52($Global) Block
                              Decorate 54 DescriptorSet 0
                              Decorate 80(@entryPointOutput.Color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypePointer Function 6(float)
              14:    6(float) Constant 1092616192
              16:    6(float) Constant 1093664768
              18:    6(float) Constant 1094713344
              20:    6(float) Constant 1095761920
              22:    6(float) Constant 1096810496
              24:    6(float) Constant 1097859072
              26:    6(float) Constant 1101004800
              28:    6(float) Constant 1101529088
              30:    6(float) Constant 1102053376
              32:    6(float) Constant 1102577664
              34:    6(float) Constant 1103101952
              36:    6(float) Constant 1103626240
              37:             TypeVector 6(float) 2
              38:             TypePointer Function 37(fvec2)
              40:   37(fvec2) ConstantComposite 14 16
              42:   37(fvec2) ConstantComposite 18 20
              44:   37(fvec2) ConstantComposite 22 24
              46:             TypeMatrix 37(fvec2) 3
              47:   37(fvec2) ConstantComposite 26 28
              48:   37(fvec2) ConstantComposite 30 32
              49:   37(fvec2) ConstantComposite 34 36
              50:          46 ConstantComposite 47 48 49
              51:             TypeInt 32 1
     52($Global):             TypeStruct 51(int) 46
              53:             TypePointer Uniform 52($Global)
              54:     53(ptr) Variable Uniform
              55:     51(int) Constant 0
              56:             TypePointer Uniform 51(int)
              59:             TypePointer Function 46
              64:     51(int) Constant 1
              67:             TypePointer Uniform 37(fvec2)
              70:             TypePointer Function 8(PS_OUTPUT)
              74:             TypePointer Function 7(fvec4)
              79:             TypePointer Output 7(fvec4)
80(@entryPointOutput.Color):     79(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              81:8(PS_OUTPUT) FunctionCall 10(@main()
              82:    7(fvec4) CompositeExtract 81 0
                              Store 80(@entryPointOutput.Color) 82
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       13(e1_00):     12(ptr) Variable Function
       15(e1_01):     12(ptr) Variable Function
       17(e1_10):     12(ptr) Variable Function
       19(e1_11):     12(ptr) Variable Function
       21(e1_20):     12(ptr) Variable Function
       23(e1_21):     12(ptr) Variable Function
       25(e2_00):     12(ptr) Variable Function
       27(e2_01):     12(ptr) Variable Function
       29(e2_10):     12(ptr) Variable Function
       31(e2_11):     12(ptr) Variable Function
       33(e2_20):     12(ptr) Variable Function
       35(e2_21):     12(ptr) Variable Function
         39(r0a):     38(ptr) Variable Function
         41(r1a):     38(ptr) Variable Function
         43(r2a):     38(ptr) Variable Function
         45(r0b):     38(ptr) Variable Function
   60(indexable):     59(ptr) Variable Function
         63(r0c):     38(ptr) Variable Function
       71(psout):     70(ptr) Variable Function
                              Store 13(e1_00) 14
                              Store 15(e1_01) 16
                              Store 17(e1_10) 18
                              Store 19(e1_11) 20
                              Store 21(e1_20) 22
                              Store 23(e1_21) 24
                              Store 25(e2_00) 26
                              Store 27(e2_01) 28
                              Store 29(e2_10) 30
                              Store 31(e2_11) 32
                              Store 33(e2_20) 34
                              Store 35(e2_21) 36
                              Store 39(r0a) 40
                              Store 41(r1a) 42
                              Store 43(r2a) 44
              57:     56(ptr) AccessChain 54 55
              58:     51(int) Load 57
                              Store 60(indexable) 50
              61:     38(ptr) AccessChain 60(indexable) 58
              62:   37(fvec2) Load 61
                              Store 45(r0b) 62
              65:     56(ptr) AccessChain 54 55
              66:     51(int) Load 65
              68:     67(ptr) AccessChain 54 64 66
              69:   37(fvec2) Load 68
                              Store 63(r0c) 69
              72:    6(float) Load 31(e2_11)
              73:    7(fvec4) CompositeConstruct 72 72 72 72
              75:     74(ptr) AccessChain 71(psout) 55
                              Store 75 73
              76:8(PS_OUTPUT) Load 71(psout)
                              ReturnValue 76
                              FunctionEnd
