hlsl.array.multidim.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:14      move second child to first child (temp 4-component vector of float)
0:14        direct index (temp 4-component vector of float)
0:14          direct index (temp 3-element array of 4-component vector of float)
0:14            'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:14            Constant:
0:14              1 (const int)
0:14          Constant:
0:14            2 (const int)
0:14        Construct vec4 (temp 4-component vector of float)
0:14          direct index (layout(offset=0 ) temp float)
0:14            direct index (layout(offset=0 ) temp 3-element array of float)
0:14              direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
0:14                float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
0:14                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
0:14                  Constant:
0:14                    0 (const uint)
0:14                Constant:
0:14                  2 (const int)
0:14              Constant:
0:14                3 (const int)
0:14            Constant:
0:14              1 (const int)
0:15      move second child to first child (temp 3-element array of 4-component vector of float)
0:15        direct index (temp 3-element array of 4-component vector of float)
0:15          'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
0:15          Constant:
0:15            1 (const int)
0:15        direct index (temp 3-element array of 4-component vector of float)
0:15          'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:15          Constant:
0:15            0 (const int)
0:18      move second child to first child (temp 4-component vector of float)
0:18        Color: direct index for structure (temp 4-component vector of float)
0:18          'psout' (temp structure{temp 4-component vector of float Color})
0:18          Constant:
0:18            0 (const int)
0:18        direct index (temp 4-component vector of float)
0:18          direct index (temp 3-element array of 4-component vector of float)
0:18            'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:18            Constant:
0:18              1 (const int)
0:18          Constant:
0:18            2 (const int)
0:19      Sequence
0:19        Sequence
0:19          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:19            Color: direct index for structure (temp 4-component vector of float)
0:19              'psout' (temp structure{temp 4-component vector of float Color})
0:19              Constant:
0:19                0 (const int)
0:19        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})


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:14      move second child to first child (temp 4-component vector of float)
0:14        direct index (temp 4-component vector of float)
0:14          direct index (temp 3-element array of 4-component vector of float)
0:14            'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:14            Constant:
0:14              1 (const int)
0:14          Constant:
0:14            2 (const int)
0:14        Construct vec4 (temp 4-component vector of float)
0:14          direct index (layout(offset=0 ) temp float)
0:14            direct index (layout(offset=0 ) temp 3-element array of float)
0:14              direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
0:14                float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
0:14                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
0:14                  Constant:
0:14                    0 (const uint)
0:14                Constant:
0:14                  2 (const int)
0:14              Constant:
0:14                3 (const int)
0:14            Constant:
0:14              1 (const int)
0:15      move second child to first child (temp 3-element array of 4-component vector of float)
0:15        direct index (temp 3-element array of 4-component vector of float)
0:15          'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
0:15          Constant:
0:15            1 (const int)
0:15        direct index (temp 3-element array of 4-component vector of float)
0:15          'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:15          Constant:
0:15            0 (const int)
0:18      move second child to first child (temp 4-component vector of float)
0:18        Color: direct index for structure (temp 4-component vector of float)
0:18          'psout' (temp structure{temp 4-component vector of float Color})
0:18          Constant:
0:18            0 (const int)
0:18        direct index (temp 4-component vector of float)
0:18          direct index (temp 3-element array of 4-component vector of float)
0:18            'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:18            Constant:
0:18              1 (const int)
0:18          Constant:
0:18            2 (const int)
0:19      Sequence
0:19        Sequence
0:19          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:19            Color: direct index for structure (temp 4-component vector of float)
0:19              'psout' (temp structure{temp 4-component vector of float Color})
0:19              Constant:
0:19                0 (const int)
0:19        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 48
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 14  "float4_array_1"
                              Name 23  "$Global"
                              MemberName 23($Global) 0  "float_array"
                              Name 25  ""
                              Name 36  "float4_array_2"
                              Name 41  "PS_OUTPUT"
                              MemberName 41(PS_OUTPUT) 0  "Color"
                              Name 43  "psout"
                              Name 48  "Color"
                              Decorate 18 ArrayStride 16
                              Decorate 20 ArrayStride 48
                              Decorate 22 ArrayStride 192
                              MemberDecorate 23($Global) 0 Offset 0
                              Decorate 23($Global) Block
                              Decorate 25 DescriptorSet 0
                              Decorate 48(Color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 0
               9:      8(int) Constant 3
              10:             TypeArray 7(fvec4) 9
              11:      8(int) Constant 2
              12:             TypeArray 10 11
              13:             TypePointer Function 12
              15:             TypeInt 32 1
              16:     15(int) Constant 1
              17:     15(int) Constant 2
              18:             TypeArray 6(float) 9
              19:      8(int) Constant 4
              20:             TypeArray 18 19
              21:      8(int) Constant 5
              22:             TypeArray 20 21
     23($Global):             TypeStruct 22
              24:             TypePointer Uniform 23($Global)
              25:     24(ptr) Variable Uniform
              26:     15(int) Constant 0
              27:     15(int) Constant 3
              28:             TypePointer Uniform 6(float)
              32:             TypePointer Function 7(fvec4)
              34:             TypeArray 10 21
              35:             TypePointer Function 34
              37:             TypePointer Function 10
   41(PS_OUTPUT):             TypeStruct 7(fvec4)
              42:             TypePointer Function 41(PS_OUTPUT)
              47:             TypePointer Output 7(fvec4)
       48(Color):     47(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
14(float4_array_1):     13(ptr) Variable Function
36(float4_array_2):     35(ptr) Variable Function
       43(psout):     42(ptr) Variable Function
              29:     28(ptr) AccessChain 25 26 17 27 16
              30:    6(float) Load 29
              31:    7(fvec4) CompositeConstruct 30 30 30 30
              33:     32(ptr) AccessChain 14(float4_array_1) 16 17
                              Store 33 31
              38:     37(ptr) AccessChain 14(float4_array_1) 26
              39:          10 Load 38
              40:     37(ptr) AccessChain 36(float4_array_2) 16
                              Store 40 39
              44:     32(ptr) AccessChain 14(float4_array_1) 16 17
              45:    7(fvec4) Load 44
              46:     32(ptr) AccessChain 43(psout) 26
                              Store 46 45
              49:     32(ptr) AccessChain 43(psout) 26
              50:    7(fvec4) Load 49
                              Store 48(Color) 50
                              Return
                              FunctionEnd
