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): 80008
// 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 54 Binding 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
