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): 80007
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 54(@entryPointOutput.Color) Location 0
164               2:             TypeVoid
165               3:             TypeFunction 2
166               6:             TypeFloat 32
167               7:             TypeVector 6(float) 4
168    8(PS_OUTPUT):             TypeStruct 7(fvec4)
169               9:             TypeFunction 8(PS_OUTPUT)
170              12:             TypeInt 32 0
171              13:     12(int) Constant 3
172              14:             TypeArray 7(fvec4) 13
173              15:     12(int) Constant 2
174              16:             TypeArray 14 15
175              17:             TypePointer Function 16
176              19:             TypeInt 32 1
177              20:     19(int) Constant 1
178              21:     19(int) Constant 2
179              22:             TypeArray 6(float) 13
180              23:     12(int) Constant 4
181              24:             TypeArray 22 23
182              25:     12(int) Constant 5
183              26:             TypeArray 24 25
184     27($Global):             TypeStruct 26
185              28:             TypePointer Uniform 27($Global)
186              29:     28(ptr) Variable Uniform
187              30:     19(int) Constant 0
188              31:     19(int) Constant 3
189              32:             TypePointer Uniform 6(float)
190              36:             TypePointer Function 7(fvec4)
191              38:             TypeArray 14 25
192              39:             TypePointer Function 38
193              41:             TypePointer Function 14
194              45:             TypePointer Function 8(PS_OUTPUT)
195              53:             TypePointer Output 7(fvec4)
19654(@entryPointOutput.Color):     53(ptr) Variable Output
197         4(main):           2 Function None 3
198               5:             Label
199              55:8(PS_OUTPUT) FunctionCall 10(@main()
200              56:    7(fvec4) CompositeExtract 55 0
201                              Store 54(@entryPointOutput.Color) 56
202                              Return
203                              FunctionEnd
204      10(@main():8(PS_OUTPUT) Function None 9
205              11:             Label
20618(float4_array_1):     17(ptr) Variable Function
20740(float4_array_2):     39(ptr) Variable Function
208       46(psout):     45(ptr) Variable Function
209              33:     32(ptr) AccessChain 29 30 21 31 20
210              34:    6(float) Load 33
211              35:    7(fvec4) CompositeConstruct 34 34 34 34
212              37:     36(ptr) AccessChain 18(float4_array_1) 20 21
213                              Store 37 35
214              42:     41(ptr) AccessChain 18(float4_array_1) 30
215              43:          14 Load 42
216              44:     41(ptr) AccessChain 40(float4_array_2) 20
217                              Store 44 43
218              47:     36(ptr) AccessChain 18(float4_array_1) 20 21
219              48:    7(fvec4) Load 47
220              49:     36(ptr) AccessChain 46(psout) 30
221                              Store 49 48
222              50:8(PS_OUTPUT) Load 46(psout)
223                              ReturnValue 50
224                              FunctionEnd
225