hlsl.matrixindex.frag
Shader version: 450
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 (layout(offset=0 ) uniform int)
0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) 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 (layout(offset=16 ) temp 2-component vector of float)
0:44            um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float)
0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
0:44              Constant:
0:44                1 (const uint)
0:44            idx: direct index for structure (layout(offset=0 ) uniform int)
0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) 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      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color})
0:48              Constant:
0:48                0 (const int)
0:48        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})


Linked fragment stage:


Shader version: 450
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 (layout(offset=0 ) uniform int)
0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) 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 (layout(offset=16 ) temp 2-component vector of float)
0:44            um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float)
0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
0:44              Constant:
0:44                1 (const uint)
0:44            idx: direct index for structure (layout(offset=0 ) uniform int)
0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) 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      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color})
0:48              Constant:
0:48                0 (const int)
0:48        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})

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

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