1hlsl.array.multidim.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
60:10    Function Parameters:
70:?     Sequence
80:14      move second child to first child ( temp 4-component vector of float)
90:14        direct index ( temp 4-component vector of float)
100:14          direct index ( temp 3-element array of 4-component vector of float)
110:14            'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
120:14            Constant:
130:14              1 (const int)
140:14          Constant:
150:14            2 (const int)
160:14        Construct vec4 ( temp 4-component vector of float)
170:14          direct index ( temp float)
180:14            direct index ( temp 3-element array of float)
190:14              direct index ( temp 4-element array of 3-element array of float)
200:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
210: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})
220:14                  Constant:
230:14                    0 (const uint)
240:14                Constant:
250:14                  2 (const int)
260:14              Constant:
270:14                3 (const int)
280:14            Constant:
290:14              1 (const int)
300:15      move second child to first child ( temp 3-element array of 4-component vector of float)
310:15        direct index ( temp 3-element array of 4-component vector of float)
320:15          'float4_array_2' ( temp 5-element array of 3-element array of 4-component vector of float)
330:15          Constant:
340:15            1 (const int)
350:15        direct index ( temp 3-element array of 4-component vector of float)
360:15          'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
370:15          Constant:
380:15            0 (const int)
390:18      move second child to first child ( temp 4-component vector of float)
400:18        Color: direct index for structure ( temp 4-component vector of float)
410:18          'psout' ( temp structure{ temp 4-component vector of float Color})
420:18          Constant:
430:18            0 (const int)
440:18        direct index ( temp 4-component vector of float)
450:18          direct index ( temp 3-element array of 4-component vector of float)
460:18            'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
470:18            Constant:
480:18              1 (const int)
490:18          Constant:
500:18            2 (const int)
510:19      Branch: Return with expression
520:19        'psout' ( temp structure{ temp 4-component vector of float Color})
530:10  Function Definition: main( ( temp void)
540:10    Function Parameters:
550:?     Sequence
560:10      Sequence
570:10        move second child to first child ( temp 4-component vector of float)
580:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
590:10          Color: direct index for structure ( temp 4-component vector of float)
600:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
610:10            Constant:
620:10              0 (const int)
630:?   Linker Objects
640:?     'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
650:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
66
67
68Linked fragment stage:
69
70
71Shader version: 500
72gl_FragCoord origin is upper left
730:? Sequence
740:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
750:10    Function Parameters:
760:?     Sequence
770:14      move second child to first child ( temp 4-component vector of float)
780:14        direct index ( temp 4-component vector of float)
790:14          direct index ( temp 3-element array of 4-component vector of float)
800:14            'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
810:14            Constant:
820:14              1 (const int)
830:14          Constant:
840:14            2 (const int)
850:14        Construct vec4 ( temp 4-component vector of float)
860:14          direct index ( temp float)
870:14            direct index ( temp 3-element array of float)
880:14              direct index ( temp 4-element array of 3-element array of float)
890:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
900: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})
910:14                  Constant:
920:14                    0 (const uint)
930:14                Constant:
940:14                  2 (const int)
950:14              Constant:
960:14                3 (const int)
970:14            Constant:
980:14              1 (const int)
990:15      move second child to first child ( temp 3-element array of 4-component vector of float)
1000:15        direct index ( temp 3-element array of 4-component vector of float)
1010:15          'float4_array_2' ( temp 5-element array of 3-element array of 4-component vector of float)
1020:15          Constant:
1030:15            1 (const int)
1040:15        direct index ( temp 3-element array of 4-component vector of float)
1050:15          'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
1060:15          Constant:
1070:15            0 (const int)
1080:18      move second child to first child ( temp 4-component vector of float)
1090:18        Color: direct index for structure ( temp 4-component vector of float)
1100:18          'psout' ( temp structure{ temp 4-component vector of float Color})
1110:18          Constant:
1120:18            0 (const int)
1130:18        direct index ( temp 4-component vector of float)
1140:18          direct index ( temp 3-element array of 4-component vector of float)
1150:18            'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float)
1160:18            Constant:
1170:18              1 (const int)
1180:18          Constant:
1190:18            2 (const int)
1200:19      Branch: Return with expression
1210:19        'psout' ( temp structure{ temp 4-component vector of float Color})
1220:10  Function Definition: main( ( temp void)
1230:10    Function Parameters:
1240:?     Sequence
1250:10      Sequence
1260:10        move second child to first child ( temp 4-component vector of float)
1270:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
1280:10          Color: direct index for structure ( temp 4-component vector of float)
1290:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
1300:10            Constant:
1310:10              0 (const int)
1320:?   Linker Objects
1330:?     'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
1340:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
135
136// Module Version 10000
137// Generated by (magic number): 8000a
138// Id's are bound by 57
139
140                              Capability Shader
141               1:             ExtInstImport  "GLSL.std.450"
142                              MemoryModel Logical GLSL450
143                              EntryPoint Fragment 4  "main" 54
144                              ExecutionMode 4 OriginUpperLeft
145                              Source HLSL 500
146                              Name 4  "main"
147                              Name 8  "PS_OUTPUT"
148                              MemberName 8(PS_OUTPUT) 0  "Color"
149                              Name 10  "@main("
150                              Name 18  "float4_array_1"
151                              Name 27  "$Global"
152                              MemberName 27($Global) 0  "float_array"
153                              Name 29  ""
154                              Name 40  "float4_array_2"
155                              Name 46  "psout"
156                              Name 54  "@entryPointOutput.Color"
157                              Decorate 22 ArrayStride 16
158                              Decorate 24 ArrayStride 48
159                              Decorate 26 ArrayStride 192
160                              MemberDecorate 27($Global) 0 Offset 0
161                              Decorate 27($Global) Block
162                              Decorate 29 DescriptorSet 0
163                              Decorate 29 Binding 0
164                              Decorate 54(@entryPointOutput.Color) Location 0
165               2:             TypeVoid
166               3:             TypeFunction 2
167               6:             TypeFloat 32
168               7:             TypeVector 6(float) 4
169    8(PS_OUTPUT):             TypeStruct 7(fvec4)
170               9:             TypeFunction 8(PS_OUTPUT)
171              12:             TypeInt 32 0
172              13:     12(int) Constant 3
173              14:             TypeArray 7(fvec4) 13
174              15:     12(int) Constant 2
175              16:             TypeArray 14 15
176              17:             TypePointer Function 16
177              19:             TypeInt 32 1
178              20:     19(int) Constant 1
179              21:     19(int) Constant 2
180              22:             TypeArray 6(float) 13
181              23:     12(int) Constant 4
182              24:             TypeArray 22 23
183              25:     12(int) Constant 5
184              26:             TypeArray 24 25
185     27($Global):             TypeStruct 26
186              28:             TypePointer Uniform 27($Global)
187              29:     28(ptr) Variable Uniform
188              30:     19(int) Constant 0
189              31:     19(int) Constant 3
190              32:             TypePointer Uniform 6(float)
191              36:             TypePointer Function 7(fvec4)
192              38:             TypeArray 14 25
193              39:             TypePointer Function 38
194              41:             TypePointer Function 14
195              45:             TypePointer Function 8(PS_OUTPUT)
196              53:             TypePointer Output 7(fvec4)
19754(@entryPointOutput.Color):     53(ptr) Variable Output
198         4(main):           2 Function None 3
199               5:             Label
200              55:8(PS_OUTPUT) FunctionCall 10(@main()
201              56:    7(fvec4) CompositeExtract 55 0
202                              Store 54(@entryPointOutput.Color) 56
203                              Return
204                              FunctionEnd
205      10(@main():8(PS_OUTPUT) Function None 9
206              11:             Label
20718(float4_array_1):     17(ptr) Variable Function
20840(float4_array_2):     39(ptr) Variable Function
209       46(psout):     45(ptr) Variable Function
210              33:     32(ptr) AccessChain 29 30 21 31 20
211              34:    6(float) Load 33
212              35:    7(fvec4) CompositeConstruct 34 34 34 34
213              37:     36(ptr) AccessChain 18(float4_array_1) 20 21
214                              Store 37 35
215              42:     41(ptr) AccessChain 18(float4_array_1) 30
216              43:          14 Load 42
217              44:     41(ptr) AccessChain 40(float4_array_2) 20
218                              Store 44 43
219              47:     36(ptr) AccessChain 18(float4_array_1) 20 21
220              48:    7(fvec4) Load 47
221              49:     36(ptr) AccessChain 46(psout) 30
222                              Store 49 48
223              50:8(PS_OUTPUT) Load 46(psout)
224                              ReturnValue 50
225                              FunctionEnd
226