1hlsl.array.flatten.frag
2WARNING: AST will form illegal SPIR-V; need to transform to legalize
3Shader version: 500
4gl_FragCoord origin is upper left
50:? Sequence
60:17  Function Definition: TestFn1( ( temp 4-component vector of float)
70:17    Function Parameters:
80:?     Sequence
90:18      Branch: Return with expression
100:18        texture ( temp 4-component vector of float)
110:18          Construct combined texture-sampler ( temp sampler1D)
120:?             'g_tex[1]' ( uniform texture1D)
130:?             'g_samp[1]' ( uniform sampler)
140:18          Constant:
150:18            0.200000
160:22  Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
170:22    Function Parameters:
180:22      'l_tex' ( in 3-element array of texture1D)
190:22      'l_samp' ( in 3-element array of sampler)
200:?     Sequence
210:23      Branch: Return with expression
220:23        texture ( temp 4-component vector of float)
230:23          Construct combined texture-sampler ( temp sampler1D)
240:23            direct index ( temp texture1D)
250:23              'l_tex' ( in 3-element array of texture1D)
260:23              Constant:
270:23                2 (const int)
280:23            direct index ( temp sampler)
290:23              'l_samp' ( in 3-element array of sampler)
300:23              Constant:
310:23                2 (const int)
320:23          Constant:
330:23            0.200000
340:26  Sequence
350:26    move second child to first child ( temp 5-element array of int)
360:26      'not_flattened_a' ( global 5-element array of int)
370:26      Constant:
380:26        1 (const int)
390:26        2 (const int)
400:26        3 (const int)
410:26        4 (const int)
420:26        5 (const int)
430:31  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
440:31    Function Parameters:
450:31      'ps_output' ( out structure{ temp 4-component vector of float color})
460:?     Sequence
470:33      Sequence
480:33        Sequence
490:33          move second child to first child ( temp sampler)
500:33            direct index ( temp sampler)
510:33              'local_sampler_array' ( temp 3-element array of sampler)
520:33              Constant:
530:33                0 (const int)
540:?             'g_samp[0]' ( uniform sampler)
550:33          move second child to first child ( temp sampler)
560:33            direct index ( temp sampler)
570:33              'local_sampler_array' ( temp 3-element array of sampler)
580:33              Constant:
590:33                1 (const int)
600:?             'g_samp[1]' ( uniform sampler)
610:33          move second child to first child ( temp sampler)
620:33            direct index ( temp sampler)
630:33              'local_sampler_array' ( temp 3-element array of sampler)
640:33              Constant:
650:33                2 (const int)
660:?             'g_samp[2]' ( uniform sampler)
670:34      Sequence
680:34        Sequence
690:34          move second child to first child ( temp texture1D)
700:34            direct index ( temp texture1D)
710:34              'local_texture_array' ( temp 3-element array of texture1D)
720:34              Constant:
730:34                0 (const int)
740:?             'g_tex[0]' ( uniform texture1D)
750:34          move second child to first child ( temp texture1D)
760:34            direct index ( temp texture1D)
770:34              'local_texture_array' ( temp 3-element array of texture1D)
780:34              Constant:
790:34                1 (const int)
800:?             'g_tex[1]' ( uniform texture1D)
810:34          move second child to first child ( temp texture1D)
820:34            direct index ( temp texture1D)
830:34              'local_texture_array' ( temp 3-element array of texture1D)
840:34              Constant:
850:34                2 (const int)
860:?             'g_tex[2]' ( uniform texture1D)
870:35      Sequence
880:35        move second child to first child ( temp 4-element array of float)
890:35          'local_float_array' ( temp 4-element array of float)
900:35          g_floats: direct index for structure ( uniform 4-element array of float)
910:35            'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
920:35            Constant:
930:35              2 (const uint)
940:37      move second child to first child ( temp 4-component vector of float)
950:37        color: direct index for structure ( temp 4-component vector of float)
960:37          'ps_output' ( out structure{ temp 4-component vector of float color})
970:37          Constant:
980:37            0 (const int)
990:37        add ( temp 4-component vector of float)
1000:37          Function Call: TestFn1( ( temp 4-component vector of float)
1010:37          Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
1020:37            Comma ( temp 3-element array of texture1D)
1030:37              Sequence
1040:37                move second child to first child ( temp texture1D)
1050:37                  direct index ( temp texture1D)
1060:37                    'aggShadow' ( temp 3-element array of texture1D)
1070:37                    Constant:
1080:37                      0 (const int)
1090:?                   'g_tex[0]' ( uniform texture1D)
1100:37                move second child to first child ( temp texture1D)
1110:37                  direct index ( temp texture1D)
1120:37                    'aggShadow' ( temp 3-element array of texture1D)
1130:37                    Constant:
1140:37                      1 (const int)
1150:?                   'g_tex[1]' ( uniform texture1D)
1160:37                move second child to first child ( temp texture1D)
1170:37                  direct index ( temp texture1D)
1180:37                    'aggShadow' ( temp 3-element array of texture1D)
1190:37                    Constant:
1200:37                      2 (const int)
1210:?                   'g_tex[2]' ( uniform texture1D)
1220:37              'aggShadow' ( temp 3-element array of texture1D)
1230:37            Comma ( temp 3-element array of sampler)
1240:37              Sequence
1250:37                move second child to first child ( temp sampler)
1260:37                  direct index ( temp sampler)
1270:37                    'aggShadow' ( temp 3-element array of sampler)
1280:37                    Constant:
1290:37                      0 (const int)
1300:?                   'g_samp[0]' ( uniform sampler)
1310:37                move second child to first child ( temp sampler)
1320:37                  direct index ( temp sampler)
1330:37                    'aggShadow' ( temp 3-element array of sampler)
1340:37                    Constant:
1350:37                      1 (const int)
1360:?                   'g_samp[1]' ( uniform sampler)
1370:37                move second child to first child ( temp sampler)
1380:37                  direct index ( temp sampler)
1390:37                    'aggShadow' ( temp 3-element array of sampler)
1400:37                    Constant:
1410:37                      2 (const int)
1420:?                   'g_samp[2]' ( uniform sampler)
1430:37              'aggShadow' ( temp 3-element array of sampler)
1440:31  Function Definition: main( ( temp void)
1450:31    Function Parameters:
1460:?     Sequence
1470:31      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
1480:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
1490:31      Sequence
1500:31        move second child to first child ( temp 4-component vector of float)
1510:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
1520:31          color: direct index for structure ( temp 4-component vector of float)
1530:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
1540:31            Constant:
1550:31              0 (const int)
1560:?   Linker Objects
1570:?     'g_tex[0]' ( uniform texture1D)
1580:?     'g_tex[1]' ( uniform texture1D)
1590:?     'g_tex[2]' ( uniform texture1D)
1600:?     'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
1610:?     'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
1620:?     'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
1630:?     'g_samp[0]' ( uniform sampler)
1640:?     'g_samp[1]' ( uniform sampler)
1650:?     'g_samp[2]' ( uniform sampler)
1660:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
1670:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
1680:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
1690:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
1700:?     'not_flattened_a' ( global 5-element array of int)
1710:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
172
173
174Linked fragment stage:
175
176
177Shader version: 500
178gl_FragCoord origin is upper left
1790:? Sequence
1800:17  Function Definition: TestFn1( ( temp 4-component vector of float)
1810:17    Function Parameters:
1820:?     Sequence
1830:18      Branch: Return with expression
1840:18        texture ( temp 4-component vector of float)
1850:18          Construct combined texture-sampler ( temp sampler1D)
1860:?             'g_tex[1]' ( uniform texture1D)
1870:?             'g_samp[1]' ( uniform sampler)
1880:18          Constant:
1890:18            0.200000
1900:22  Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
1910:22    Function Parameters:
1920:22      'l_tex' ( in 3-element array of texture1D)
1930:22      'l_samp' ( in 3-element array of sampler)
1940:?     Sequence
1950:23      Branch: Return with expression
1960:23        texture ( temp 4-component vector of float)
1970:23          Construct combined texture-sampler ( temp sampler1D)
1980:23            direct index ( temp texture1D)
1990:23              'l_tex' ( in 3-element array of texture1D)
2000:23              Constant:
2010:23                2 (const int)
2020:23            direct index ( temp sampler)
2030:23              'l_samp' ( in 3-element array of sampler)
2040:23              Constant:
2050:23                2 (const int)
2060:23          Constant:
2070:23            0.200000
2080:26  Sequence
2090:26    move second child to first child ( temp 5-element array of int)
2100:26      'not_flattened_a' ( global 5-element array of int)
2110:26      Constant:
2120:26        1 (const int)
2130:26        2 (const int)
2140:26        3 (const int)
2150:26        4 (const int)
2160:26        5 (const int)
2170:31  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
2180:31    Function Parameters:
2190:31      'ps_output' ( out structure{ temp 4-component vector of float color})
2200:?     Sequence
2210:33      Sequence
2220:33        Sequence
2230:33          move second child to first child ( temp sampler)
2240:33            direct index ( temp sampler)
2250:33              'local_sampler_array' ( temp 3-element array of sampler)
2260:33              Constant:
2270:33                0 (const int)
2280:?             'g_samp[0]' ( uniform sampler)
2290:33          move second child to first child ( temp sampler)
2300:33            direct index ( temp sampler)
2310:33              'local_sampler_array' ( temp 3-element array of sampler)
2320:33              Constant:
2330:33                1 (const int)
2340:?             'g_samp[1]' ( uniform sampler)
2350:33          move second child to first child ( temp sampler)
2360:33            direct index ( temp sampler)
2370:33              'local_sampler_array' ( temp 3-element array of sampler)
2380:33              Constant:
2390:33                2 (const int)
2400:?             'g_samp[2]' ( uniform sampler)
2410:34      Sequence
2420:34        Sequence
2430:34          move second child to first child ( temp texture1D)
2440:34            direct index ( temp texture1D)
2450:34              'local_texture_array' ( temp 3-element array of texture1D)
2460:34              Constant:
2470:34                0 (const int)
2480:?             'g_tex[0]' ( uniform texture1D)
2490:34          move second child to first child ( temp texture1D)
2500:34            direct index ( temp texture1D)
2510:34              'local_texture_array' ( temp 3-element array of texture1D)
2520:34              Constant:
2530:34                1 (const int)
2540:?             'g_tex[1]' ( uniform texture1D)
2550:34          move second child to first child ( temp texture1D)
2560:34            direct index ( temp texture1D)
2570:34              'local_texture_array' ( temp 3-element array of texture1D)
2580:34              Constant:
2590:34                2 (const int)
2600:?             'g_tex[2]' ( uniform texture1D)
2610:35      Sequence
2620:35        move second child to first child ( temp 4-element array of float)
2630:35          'local_float_array' ( temp 4-element array of float)
2640:35          g_floats: direct index for structure ( uniform 4-element array of float)
2650:35            'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
2660:35            Constant:
2670:35              2 (const uint)
2680:37      move second child to first child ( temp 4-component vector of float)
2690:37        color: direct index for structure ( temp 4-component vector of float)
2700:37          'ps_output' ( out structure{ temp 4-component vector of float color})
2710:37          Constant:
2720:37            0 (const int)
2730:37        add ( temp 4-component vector of float)
2740:37          Function Call: TestFn1( ( temp 4-component vector of float)
2750:37          Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
2760:37            Comma ( temp 3-element array of texture1D)
2770:37              Sequence
2780:37                move second child to first child ( temp texture1D)
2790:37                  direct index ( temp texture1D)
2800:37                    'aggShadow' ( temp 3-element array of texture1D)
2810:37                    Constant:
2820:37                      0 (const int)
2830:?                   'g_tex[0]' ( uniform texture1D)
2840:37                move second child to first child ( temp texture1D)
2850:37                  direct index ( temp texture1D)
2860:37                    'aggShadow' ( temp 3-element array of texture1D)
2870:37                    Constant:
2880:37                      1 (const int)
2890:?                   'g_tex[1]' ( uniform texture1D)
2900:37                move second child to first child ( temp texture1D)
2910:37                  direct index ( temp texture1D)
2920:37                    'aggShadow' ( temp 3-element array of texture1D)
2930:37                    Constant:
2940:37                      2 (const int)
2950:?                   'g_tex[2]' ( uniform texture1D)
2960:37              'aggShadow' ( temp 3-element array of texture1D)
2970:37            Comma ( temp 3-element array of sampler)
2980:37              Sequence
2990:37                move second child to first child ( temp sampler)
3000:37                  direct index ( temp sampler)
3010:37                    'aggShadow' ( temp 3-element array of sampler)
3020:37                    Constant:
3030:37                      0 (const int)
3040:?                   'g_samp[0]' ( uniform sampler)
3050:37                move second child to first child ( temp sampler)
3060:37                  direct index ( temp sampler)
3070:37                    'aggShadow' ( temp 3-element array of sampler)
3080:37                    Constant:
3090:37                      1 (const int)
3100:?                   'g_samp[1]' ( uniform sampler)
3110:37                move second child to first child ( temp sampler)
3120:37                  direct index ( temp sampler)
3130:37                    'aggShadow' ( temp 3-element array of sampler)
3140:37                    Constant:
3150:37                      2 (const int)
3160:?                   'g_samp[2]' ( uniform sampler)
3170:37              'aggShadow' ( temp 3-element array of sampler)
3180:31  Function Definition: main( ( temp void)
3190:31    Function Parameters:
3200:?     Sequence
3210:31      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
3220:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
3230:31      Sequence
3240:31        move second child to first child ( temp 4-component vector of float)
3250:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
3260:31          color: direct index for structure ( temp 4-component vector of float)
3270:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
3280:31            Constant:
3290:31              0 (const int)
3300:?   Linker Objects
3310:?     'g_tex[0]' ( uniform texture1D)
3320:?     'g_tex[1]' ( uniform texture1D)
3330:?     'g_tex[2]' ( uniform texture1D)
3340:?     'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
3350:?     'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
3360:?     'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
3370:?     'g_samp[0]' ( uniform sampler)
3380:?     'g_samp[1]' ( uniform sampler)
3390:?     'g_samp[2]' ( uniform sampler)
3400:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
3410:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
3420:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
3430:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
3440:?     'not_flattened_a' ( global 5-element array of int)
3450:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
346
347// Module Version 10000
348// Generated by (magic number): 80007
349// Id's are bound by 143
350
351                              Capability Shader
352                              Capability Sampled1D
353               1:             ExtInstImport  "GLSL.std.450"
354                              MemoryModel Logical GLSL450
355                              EntryPoint Fragment 4  "main" 134
356                              ExecutionMode 4 OriginUpperLeft
357                              Source HLSL 500
358                              Name 4  "main"
359                              Name 9  "TestFn1("
360                              Name 22  "TestFn2(t11[3];p1[3];"
361                              Name 20  "l_tex"
362                              Name 21  "l_samp"
363                              Name 24  "PS_OUTPUT"
364                              MemberName 24(PS_OUTPUT) 0  "color"
365                              Name 28  "@main(struct-PS_OUTPUT-vf41;"
366                              Name 27  "ps_output"
367                              Name 34  "not_flattened_a"
368                              Name 42  "g_tex[1]"
369                              Name 45  "g_samp[1]"
370                              Name 63  "local_sampler_array"
371                              Name 65  "g_samp[0]"
372                              Name 70  "g_samp[2]"
373                              Name 73  "local_texture_array"
374                              Name 74  "g_tex[0]"
375                              Name 79  "g_tex[2]"
376                              Name 85  "local_float_array"
377                              Name 91  "$Global"
378                              MemberName 91($Global) 0  "g_mats"
379                              MemberName 91($Global) 1  "g_mats_explicit"
380                              MemberName 91($Global) 2  "g_floats"
381                              Name 93  ""
382                              Name 107  "aggShadow"
383                              Name 114  "aggShadow"
384                              Name 121  "param"
385                              Name 123  "param"
386                              Name 129  "ps_output"
387                              Name 130  "param"
388                              Name 134  "ps_output.color"
389                              Name 137  "g_tex_explicit[0]"
390                              Name 138  "g_tex_explicit[1]"
391                              Name 139  "g_tex_explicit[2]"
392                              Name 140  "g_samp_explicit[0]"
393                              Name 141  "g_samp_explicit[1]"
394                              Name 142  "g_samp_explicit[2]"
395                              Decorate 42(g_tex[1]) DescriptorSet 0
396                              Decorate 45(g_samp[1]) DescriptorSet 0
397                              Decorate 65(g_samp[0]) DescriptorSet 0
398                              Decorate 70(g_samp[2]) DescriptorSet 0
399                              Decorate 74(g_tex[0]) DescriptorSet 0
400                              Decorate 79(g_tex[2]) DescriptorSet 0
401                              Decorate 88 ArrayStride 48
402                              Decorate 89 ArrayStride 48
403                              Decorate 90 ArrayStride 16
404                              MemberDecorate 91($Global) 0 RowMajor
405                              MemberDecorate 91($Global) 0 Offset 0
406                              MemberDecorate 91($Global) 0 MatrixStride 16
407                              MemberDecorate 91($Global) 1 RowMajor
408                              MemberDecorate 91($Global) 1 Offset 192
409                              MemberDecorate 91($Global) 1 MatrixStride 16
410                              MemberDecorate 91($Global) 2 Offset 384
411                              Decorate 91($Global) Block
412                              Decorate 93 DescriptorSet 0
413                              Decorate 134(ps_output.color) Location 0
414                              Decorate 137(g_tex_explicit[0]) DescriptorSet 0
415                              Decorate 137(g_tex_explicit[0]) Binding 1
416                              Decorate 138(g_tex_explicit[1]) DescriptorSet 0
417                              Decorate 138(g_tex_explicit[1]) Binding 2
418                              Decorate 139(g_tex_explicit[2]) DescriptorSet 0
419                              Decorate 139(g_tex_explicit[2]) Binding 3
420                              Decorate 140(g_samp_explicit[0]) DescriptorSet 0
421                              Decorate 140(g_samp_explicit[0]) Binding 5
422                              Decorate 141(g_samp_explicit[1]) DescriptorSet 0
423                              Decorate 141(g_samp_explicit[1]) Binding 6
424                              Decorate 142(g_samp_explicit[2]) DescriptorSet 0
425                              Decorate 142(g_samp_explicit[2]) Binding 7
426               2:             TypeVoid
427               3:             TypeFunction 2
428               6:             TypeFloat 32
429               7:             TypeVector 6(float) 4
430               8:             TypeFunction 7(fvec4)
431              11:             TypeImage 6(float) 1D sampled format:Unknown
432              12:             TypeInt 32 0
433              13:     12(int) Constant 3
434              14:             TypeArray 11 13
435              15:             TypePointer Function 14
436              16:             TypeSampler
437              17:             TypeArray 16 13
438              18:             TypePointer Function 17
439              19:             TypeFunction 7(fvec4) 15(ptr) 18(ptr)
440   24(PS_OUTPUT):             TypeStruct 7(fvec4)
441              25:             TypePointer Function 24(PS_OUTPUT)
442              26:             TypeFunction 2 25(ptr)
443              30:             TypeInt 32 1
444              31:     12(int) Constant 5
445              32:             TypeArray 30(int) 31
446              33:             TypePointer Private 32
44734(not_flattened_a):     33(ptr) Variable Private
448              35:     30(int) Constant 1
449              36:     30(int) Constant 2
450              37:     30(int) Constant 3
451              38:     30(int) Constant 4
452              39:     30(int) Constant 5
453              40:          32 ConstantComposite 35 36 37 38 39
454              41:             TypePointer UniformConstant 11
455    42(g_tex[1]):     41(ptr) Variable UniformConstant
456              44:             TypePointer UniformConstant 16
457   45(g_samp[1]):     44(ptr) Variable UniformConstant
458              47:             TypeSampledImage 11
459              49:    6(float) Constant 1045220557
460              53:             TypePointer Function 11
461              56:             TypePointer Function 16
462              64:     30(int) Constant 0
463   65(g_samp[0]):     44(ptr) Variable UniformConstant
464   70(g_samp[2]):     44(ptr) Variable UniformConstant
465    74(g_tex[0]):     41(ptr) Variable UniformConstant
466    79(g_tex[2]):     41(ptr) Variable UniformConstant
467              82:     12(int) Constant 4
468              83:             TypeArray 6(float) 82
469              84:             TypePointer Function 83
470              86:             TypeVector 6(float) 3
471              87:             TypeMatrix 86(fvec3) 3
472              88:             TypeArray 87 82
473              89:             TypeArray 87 82
474              90:             TypeArray 6(float) 82
475     91($Global):             TypeStruct 88 89 90
476              92:             TypePointer Uniform 91($Global)
477              93:     92(ptr) Variable Uniform
478              94:             TypePointer Uniform 90
479              98:             TypePointer Function 6(float)
480             127:             TypePointer Function 7(fvec4)
481             133:             TypePointer Output 7(fvec4)
482134(ps_output.color):    133(ptr) Variable Output
483137(g_tex_explicit[0]):     41(ptr) Variable UniformConstant
484138(g_tex_explicit[1]):     41(ptr) Variable UniformConstant
485139(g_tex_explicit[2]):     41(ptr) Variable UniformConstant
486140(g_samp_explicit[0]):     44(ptr) Variable UniformConstant
487141(g_samp_explicit[1]):     44(ptr) Variable UniformConstant
488142(g_samp_explicit[2]):     44(ptr) Variable UniformConstant
489         4(main):           2 Function None 3
490               5:             Label
491  129(ps_output):     25(ptr) Variable Function
492      130(param):     25(ptr) Variable Function
493                              Store 34(not_flattened_a) 40
494             131:           2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param)
495             132:24(PS_OUTPUT) Load 130(param)
496                              Store 129(ps_output) 132
497             135:    127(ptr) AccessChain 129(ps_output) 64
498             136:    7(fvec4) Load 135
499                              Store 134(ps_output.color) 136
500                              Return
501                              FunctionEnd
502     9(TestFn1():    7(fvec4) Function None 8
503              10:             Label
504              43:          11 Load 42(g_tex[1])
505              46:          16 Load 45(g_samp[1])
506              48:          47 SampledImage 43 46
507              50:    7(fvec4) ImageSampleImplicitLod 48 49
508                              ReturnValue 50
509                              FunctionEnd
51022(TestFn2(t11[3];p1[3];):    7(fvec4) Function None 19
511       20(l_tex):     15(ptr) FunctionParameter
512      21(l_samp):     18(ptr) FunctionParameter
513              23:             Label
514              54:     53(ptr) AccessChain 20(l_tex) 36
515              55:          11 Load 54
516              57:     56(ptr) AccessChain 21(l_samp) 36
517              58:          16 Load 57
518              59:          47 SampledImage 55 58
519              60:    7(fvec4) ImageSampleImplicitLod 59 49
520                              ReturnValue 60
521                              FunctionEnd
52228(@main(struct-PS_OUTPUT-vf41;):           2 Function None 26
523   27(ps_output):     25(ptr) FunctionParameter
524              29:             Label
52563(local_sampler_array):     18(ptr) Variable Function
52673(local_texture_array):     15(ptr) Variable Function
52785(local_float_array):     84(ptr) Variable Function
528  107(aggShadow):     15(ptr) Variable Function
529  114(aggShadow):     18(ptr) Variable Function
530      121(param):     15(ptr) Variable Function
531      123(param):     18(ptr) Variable Function
532              66:          16 Load 65(g_samp[0])
533              67:     56(ptr) AccessChain 63(local_sampler_array) 64
534                              Store 67 66
535              68:          16 Load 45(g_samp[1])
536              69:     56(ptr) AccessChain 63(local_sampler_array) 35
537                              Store 69 68
538              71:          16 Load 70(g_samp[2])
539              72:     56(ptr) AccessChain 63(local_sampler_array) 36
540                              Store 72 71
541              75:          11 Load 74(g_tex[0])
542              76:     53(ptr) AccessChain 73(local_texture_array) 64
543                              Store 76 75
544              77:          11 Load 42(g_tex[1])
545              78:     53(ptr) AccessChain 73(local_texture_array) 35
546                              Store 78 77
547              80:          11 Load 79(g_tex[2])
548              81:     53(ptr) AccessChain 73(local_texture_array) 36
549                              Store 81 80
550              95:     94(ptr) AccessChain 93 36
551              96:          90 Load 95
552              97:    6(float) CompositeExtract 96 0
553              99:     98(ptr) AccessChain 85(local_float_array) 64
554                              Store 99 97
555             100:    6(float) CompositeExtract 96 1
556             101:     98(ptr) AccessChain 85(local_float_array) 35
557                              Store 101 100
558             102:    6(float) CompositeExtract 96 2
559             103:     98(ptr) AccessChain 85(local_float_array) 36
560                              Store 103 102
561             104:    6(float) CompositeExtract 96 3
562             105:     98(ptr) AccessChain 85(local_float_array) 37
563                              Store 105 104
564             106:    7(fvec4) FunctionCall 9(TestFn1()
565             108:          11 Load 74(g_tex[0])
566             109:     53(ptr) AccessChain 107(aggShadow) 64
567                              Store 109 108
568             110:          11 Load 42(g_tex[1])
569             111:     53(ptr) AccessChain 107(aggShadow) 35
570                              Store 111 110
571             112:          11 Load 79(g_tex[2])
572             113:     53(ptr) AccessChain 107(aggShadow) 36
573                              Store 113 112
574             115:          16 Load 65(g_samp[0])
575             116:     56(ptr) AccessChain 114(aggShadow) 64
576                              Store 116 115
577             117:          16 Load 45(g_samp[1])
578             118:     56(ptr) AccessChain 114(aggShadow) 35
579                              Store 118 117
580             119:          16 Load 70(g_samp[2])
581             120:     56(ptr) AccessChain 114(aggShadow) 36
582                              Store 120 119
583             122:          14 Load 107(aggShadow)
584                              Store 121(param) 122
585             124:          17 Load 114(aggShadow)
586                              Store 123(param) 124
587             125:    7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param)
588             126:    7(fvec4) FAdd 106 125
589             128:    127(ptr) AccessChain 27(ps_output) 64
590                              Store 128 126
591                              Return
592                              FunctionEnd
593