hlsl.array.multidim.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: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 ( temp float)
0:14            direct index ( temp 3-element array of float)
0:14              direct index ( temp 4-element array of 3-element array of float)
0:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
0:14                  'anon@0' (layout( row_major std140) uniform block{ 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      Branch: Return with expression
0:19        '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 5-element array of 4-element array of 3-element array of float float_array})
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: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 ( temp float)
0:14            direct index ( temp 3-element array of float)
0:14              direct index ( temp 4-element array of 3-element array of float)
0:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
0:14                  'anon@0' (layout( row_major std140) uniform block{ 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      Branch: Return with expression
0:19        '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 5-element array of 4-element array of 3-element array of float float_array})
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

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