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): 8000a
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 42(g_tex[1]) Binding 4
397                              Decorate 45(g_samp[1]) DescriptorSet 0
398                              Decorate 45(g_samp[1]) Binding 10
399                              Decorate 65(g_samp[0]) DescriptorSet 0
400                              Decorate 65(g_samp[0]) Binding 9
401                              Decorate 70(g_samp[2]) DescriptorSet 0
402                              Decorate 70(g_samp[2]) Binding 11
403                              Decorate 74(g_tex[0]) DescriptorSet 0
404                              Decorate 74(g_tex[0]) Binding 0
405                              Decorate 79(g_tex[2]) DescriptorSet 0
406                              Decorate 79(g_tex[2]) Binding 8
407                              Decorate 88 ArrayStride 48
408                              Decorate 89 ArrayStride 48
409                              Decorate 90 ArrayStride 16
410                              MemberDecorate 91($Global) 0 RowMajor
411                              MemberDecorate 91($Global) 0 Offset 0
412                              MemberDecorate 91($Global) 0 MatrixStride 16
413                              MemberDecorate 91($Global) 1 RowMajor
414                              MemberDecorate 91($Global) 1 Offset 192
415                              MemberDecorate 91($Global) 1 MatrixStride 16
416                              MemberDecorate 91($Global) 2 Offset 384
417                              Decorate 91($Global) Block
418                              Decorate 93 DescriptorSet 0
419                              Decorate 93 Binding 12
420                              Decorate 134(ps_output.color) Location 0
421                              Decorate 137(g_tex_explicit[0]) DescriptorSet 0
422                              Decorate 137(g_tex_explicit[0]) Binding 1
423                              Decorate 138(g_tex_explicit[1]) DescriptorSet 0
424                              Decorate 138(g_tex_explicit[1]) Binding 2
425                              Decorate 139(g_tex_explicit[2]) DescriptorSet 0
426                              Decorate 139(g_tex_explicit[2]) Binding 3
427                              Decorate 140(g_samp_explicit[0]) DescriptorSet 0
428                              Decorate 140(g_samp_explicit[0]) Binding 5
429                              Decorate 141(g_samp_explicit[1]) DescriptorSet 0
430                              Decorate 141(g_samp_explicit[1]) Binding 6
431                              Decorate 142(g_samp_explicit[2]) DescriptorSet 0
432                              Decorate 142(g_samp_explicit[2]) Binding 7
433               2:             TypeVoid
434               3:             TypeFunction 2
435               6:             TypeFloat 32
436               7:             TypeVector 6(float) 4
437               8:             TypeFunction 7(fvec4)
438              11:             TypeImage 6(float) 1D sampled format:Unknown
439              12:             TypeInt 32 0
440              13:     12(int) Constant 3
441              14:             TypeArray 11 13
442              15:             TypePointer Function 14
443              16:             TypeSampler
444              17:             TypeArray 16 13
445              18:             TypePointer Function 17
446              19:             TypeFunction 7(fvec4) 15(ptr) 18(ptr)
447   24(PS_OUTPUT):             TypeStruct 7(fvec4)
448              25:             TypePointer Function 24(PS_OUTPUT)
449              26:             TypeFunction 2 25(ptr)
450              30:             TypeInt 32 1
451              31:     12(int) Constant 5
452              32:             TypeArray 30(int) 31
453              33:             TypePointer Private 32
45434(not_flattened_a):     33(ptr) Variable Private
455              35:     30(int) Constant 1
456              36:     30(int) Constant 2
457              37:     30(int) Constant 3
458              38:     30(int) Constant 4
459              39:     30(int) Constant 5
460              40:          32 ConstantComposite 35 36 37 38 39
461              41:             TypePointer UniformConstant 11
462    42(g_tex[1]):     41(ptr) Variable UniformConstant
463              44:             TypePointer UniformConstant 16
464   45(g_samp[1]):     44(ptr) Variable UniformConstant
465              47:             TypeSampledImage 11
466              49:    6(float) Constant 1045220557
467              53:             TypePointer Function 11
468              56:             TypePointer Function 16
469              64:     30(int) Constant 0
470   65(g_samp[0]):     44(ptr) Variable UniformConstant
471   70(g_samp[2]):     44(ptr) Variable UniformConstant
472    74(g_tex[0]):     41(ptr) Variable UniformConstant
473    79(g_tex[2]):     41(ptr) Variable UniformConstant
474              82:     12(int) Constant 4
475              83:             TypeArray 6(float) 82
476              84:             TypePointer Function 83
477              86:             TypeVector 6(float) 3
478              87:             TypeMatrix 86(fvec3) 3
479              88:             TypeArray 87 82
480              89:             TypeArray 87 82
481              90:             TypeArray 6(float) 82
482     91($Global):             TypeStruct 88 89 90
483              92:             TypePointer Uniform 91($Global)
484              93:     92(ptr) Variable Uniform
485              94:             TypePointer Uniform 90
486              98:             TypePointer Function 6(float)
487             127:             TypePointer Function 7(fvec4)
488             133:             TypePointer Output 7(fvec4)
489134(ps_output.color):    133(ptr) Variable Output
490137(g_tex_explicit[0]):     41(ptr) Variable UniformConstant
491138(g_tex_explicit[1]):     41(ptr) Variable UniformConstant
492139(g_tex_explicit[2]):     41(ptr) Variable UniformConstant
493140(g_samp_explicit[0]):     44(ptr) Variable UniformConstant
494141(g_samp_explicit[1]):     44(ptr) Variable UniformConstant
495142(g_samp_explicit[2]):     44(ptr) Variable UniformConstant
496         4(main):           2 Function None 3
497               5:             Label
498  129(ps_output):     25(ptr) Variable Function
499      130(param):     25(ptr) Variable Function
500                              Store 34(not_flattened_a) 40
501             131:           2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param)
502             132:24(PS_OUTPUT) Load 130(param)
503                              Store 129(ps_output) 132
504             135:    127(ptr) AccessChain 129(ps_output) 64
505             136:    7(fvec4) Load 135
506                              Store 134(ps_output.color) 136
507                              Return
508                              FunctionEnd
509     9(TestFn1():    7(fvec4) Function None 8
510              10:             Label
511              43:          11 Load 42(g_tex[1])
512              46:          16 Load 45(g_samp[1])
513              48:          47 SampledImage 43 46
514              50:    7(fvec4) ImageSampleImplicitLod 48 49
515                              ReturnValue 50
516                              FunctionEnd
51722(TestFn2(t11[3];p1[3];):    7(fvec4) Function None 19
518       20(l_tex):     15(ptr) FunctionParameter
519      21(l_samp):     18(ptr) FunctionParameter
520              23:             Label
521              54:     53(ptr) AccessChain 20(l_tex) 36
522              55:          11 Load 54
523              57:     56(ptr) AccessChain 21(l_samp) 36
524              58:          16 Load 57
525              59:          47 SampledImage 55 58
526              60:    7(fvec4) ImageSampleImplicitLod 59 49
527                              ReturnValue 60
528                              FunctionEnd
52928(@main(struct-PS_OUTPUT-vf41;):           2 Function None 26
530   27(ps_output):     25(ptr) FunctionParameter
531              29:             Label
53263(local_sampler_array):     18(ptr) Variable Function
53373(local_texture_array):     15(ptr) Variable Function
53485(local_float_array):     84(ptr) Variable Function
535  107(aggShadow):     15(ptr) Variable Function
536  114(aggShadow):     18(ptr) Variable Function
537      121(param):     15(ptr) Variable Function
538      123(param):     18(ptr) Variable Function
539              66:          16 Load 65(g_samp[0])
540              67:     56(ptr) AccessChain 63(local_sampler_array) 64
541                              Store 67 66
542              68:          16 Load 45(g_samp[1])
543              69:     56(ptr) AccessChain 63(local_sampler_array) 35
544                              Store 69 68
545              71:          16 Load 70(g_samp[2])
546              72:     56(ptr) AccessChain 63(local_sampler_array) 36
547                              Store 72 71
548              75:          11 Load 74(g_tex[0])
549              76:     53(ptr) AccessChain 73(local_texture_array) 64
550                              Store 76 75
551              77:          11 Load 42(g_tex[1])
552              78:     53(ptr) AccessChain 73(local_texture_array) 35
553                              Store 78 77
554              80:          11 Load 79(g_tex[2])
555              81:     53(ptr) AccessChain 73(local_texture_array) 36
556                              Store 81 80
557              95:     94(ptr) AccessChain 93 36
558              96:          90 Load 95
559              97:    6(float) CompositeExtract 96 0
560              99:     98(ptr) AccessChain 85(local_float_array) 64
561                              Store 99 97
562             100:    6(float) CompositeExtract 96 1
563             101:     98(ptr) AccessChain 85(local_float_array) 35
564                              Store 101 100
565             102:    6(float) CompositeExtract 96 2
566             103:     98(ptr) AccessChain 85(local_float_array) 36
567                              Store 103 102
568             104:    6(float) CompositeExtract 96 3
569             105:     98(ptr) AccessChain 85(local_float_array) 37
570                              Store 105 104
571             106:    7(fvec4) FunctionCall 9(TestFn1()
572             108:          11 Load 74(g_tex[0])
573             109:     53(ptr) AccessChain 107(aggShadow) 64
574                              Store 109 108
575             110:          11 Load 42(g_tex[1])
576             111:     53(ptr) AccessChain 107(aggShadow) 35
577                              Store 111 110
578             112:          11 Load 79(g_tex[2])
579             113:     53(ptr) AccessChain 107(aggShadow) 36
580                              Store 113 112
581             115:          16 Load 65(g_samp[0])
582             116:     56(ptr) AccessChain 114(aggShadow) 64
583                              Store 116 115
584             117:          16 Load 45(g_samp[1])
585             118:     56(ptr) AccessChain 114(aggShadow) 35
586                              Store 118 117
587             119:          16 Load 70(g_samp[2])
588             120:     56(ptr) AccessChain 114(aggShadow) 36
589                              Store 120 119
590             122:          14 Load 107(aggShadow)
591                              Store 121(param) 122
592             124:          17 Load 114(aggShadow)
593                              Store 123(param) 124
594             125:    7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param)
595             126:    7(fvec4) FAdd 106 125
596             128:    127(ptr) AccessChain 27(ps_output) 64
597                              Store 128 126
598                              Return
599                              FunctionEnd
600