Home | History | Annotate | Download | only in baseResults
      1 hlsl.array.flatten.frag
      2 WARNING: AST will form illegal SPIR-V; need to transform to legalize
      3 Shader version: 500
      4 gl_FragCoord origin is upper left
      5 0:? Sequence
      6 0:17  Function Definition: TestFn1( ( temp 4-component vector of float)
      7 0:17    Function Parameters: 
      8 0:?     Sequence
      9 0:18      Branch: Return with expression
     10 0:18        texture ( temp 4-component vector of float)
     11 0:18          Construct combined texture-sampler ( temp sampler1D)
     12 0:?             'g_tex[1]' ( uniform texture1D)
     13 0:?             'g_samp[1]' ( uniform sampler)
     14 0:18          Constant:
     15 0:18            0.200000
     16 0:22  Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
     17 0:22    Function Parameters: 
     18 0:22      'l_tex' ( in 3-element array of texture1D)
     19 0:22      'l_samp' ( in 3-element array of sampler)
     20 0:?     Sequence
     21 0:23      Branch: Return with expression
     22 0:23        texture ( temp 4-component vector of float)
     23 0:23          Construct combined texture-sampler ( temp sampler1D)
     24 0:23            direct index ( temp texture1D)
     25 0:23              'l_tex' ( in 3-element array of texture1D)
     26 0:23              Constant:
     27 0:23                2 (const int)
     28 0:23            direct index ( temp sampler)
     29 0:23              'l_samp' ( in 3-element array of sampler)
     30 0:23              Constant:
     31 0:23                2 (const int)
     32 0:23          Constant:
     33 0:23            0.200000
     34 0:26  Sequence
     35 0:26    move second child to first child ( temp 5-element array of int)
     36 0:26      'not_flattened_a' ( global 5-element array of int)
     37 0:26      Constant:
     38 0:26        1 (const int)
     39 0:26        2 (const int)
     40 0:26        3 (const int)
     41 0:26        4 (const int)
     42 0:26        5 (const int)
     43 0:31  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
     44 0:31    Function Parameters: 
     45 0:31      'ps_output' ( out structure{ temp 4-component vector of float color})
     46 0:?     Sequence
     47 0:33      Sequence
     48 0:33        Sequence
     49 0:33          move second child to first child ( temp sampler)
     50 0:33            direct index ( temp sampler)
     51 0:33              'local_sampler_array' ( temp 3-element array of sampler)
     52 0:33              Constant:
     53 0:33                0 (const int)
     54 0:?             'g_samp[0]' ( uniform sampler)
     55 0:33          move second child to first child ( temp sampler)
     56 0:33            direct index ( temp sampler)
     57 0:33              'local_sampler_array' ( temp 3-element array of sampler)
     58 0:33              Constant:
     59 0:33                1 (const int)
     60 0:?             'g_samp[1]' ( uniform sampler)
     61 0:33          move second child to first child ( temp sampler)
     62 0:33            direct index ( temp sampler)
     63 0:33              'local_sampler_array' ( temp 3-element array of sampler)
     64 0:33              Constant:
     65 0:33                2 (const int)
     66 0:?             'g_samp[2]' ( uniform sampler)
     67 0:34      Sequence
     68 0:34        Sequence
     69 0:34          move second child to first child ( temp texture1D)
     70 0:34            direct index ( temp texture1D)
     71 0:34              'local_texture_array' ( temp 3-element array of texture1D)
     72 0:34              Constant:
     73 0:34                0 (const int)
     74 0:?             'g_tex[0]' ( uniform texture1D)
     75 0:34          move second child to first child ( temp texture1D)
     76 0:34            direct index ( temp texture1D)
     77 0:34              'local_texture_array' ( temp 3-element array of texture1D)
     78 0:34              Constant:
     79 0:34                1 (const int)
     80 0:?             'g_tex[1]' ( uniform texture1D)
     81 0:34          move second child to first child ( temp texture1D)
     82 0:34            direct index ( temp texture1D)
     83 0:34              'local_texture_array' ( temp 3-element array of texture1D)
     84 0:34              Constant:
     85 0:34                2 (const int)
     86 0:?             'g_tex[2]' ( uniform texture1D)
     87 0:35      Sequence
     88 0:35        move second child to first child ( temp 4-element array of float)
     89 0:35          'local_float_array' ( temp 4-element array of float)
     90 0:35          g_floats: direct index for structure ( uniform 4-element array of float)
     91 0: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})
     92 0:35            Constant:
     93 0:35              2 (const uint)
     94 0:37      move second child to first child ( temp 4-component vector of float)
     95 0:37        color: direct index for structure ( temp 4-component vector of float)
     96 0:37          'ps_output' ( out structure{ temp 4-component vector of float color})
     97 0:37          Constant:
     98 0:37            0 (const int)
     99 0:37        add ( temp 4-component vector of float)
    100 0:37          Function Call: TestFn1( ( temp 4-component vector of float)
    101 0:37          Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
    102 0:37            Comma ( temp 3-element array of texture1D)
    103 0:37              Sequence
    104 0:37                move second child to first child ( temp texture1D)
    105 0:37                  direct index ( temp texture1D)
    106 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    107 0:37                    Constant:
    108 0:37                      0 (const int)
    109 0:?                   'g_tex[0]' ( uniform texture1D)
    110 0:37                move second child to first child ( temp texture1D)
    111 0:37                  direct index ( temp texture1D)
    112 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    113 0:37                    Constant:
    114 0:37                      1 (const int)
    115 0:?                   'g_tex[1]' ( uniform texture1D)
    116 0:37                move second child to first child ( temp texture1D)
    117 0:37                  direct index ( temp texture1D)
    118 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    119 0:37                    Constant:
    120 0:37                      2 (const int)
    121 0:?                   'g_tex[2]' ( uniform texture1D)
    122 0:37              'aggShadow' ( temp 3-element array of texture1D)
    123 0:37            Comma ( temp 3-element array of sampler)
    124 0:37              Sequence
    125 0:37                move second child to first child ( temp sampler)
    126 0:37                  direct index ( temp sampler)
    127 0:37                    'aggShadow' ( temp 3-element array of sampler)
    128 0:37                    Constant:
    129 0:37                      0 (const int)
    130 0:?                   'g_samp[0]' ( uniform sampler)
    131 0:37                move second child to first child ( temp sampler)
    132 0:37                  direct index ( temp sampler)
    133 0:37                    'aggShadow' ( temp 3-element array of sampler)
    134 0:37                    Constant:
    135 0:37                      1 (const int)
    136 0:?                   'g_samp[1]' ( uniform sampler)
    137 0:37                move second child to first child ( temp sampler)
    138 0:37                  direct index ( temp sampler)
    139 0:37                    'aggShadow' ( temp 3-element array of sampler)
    140 0:37                    Constant:
    141 0:37                      2 (const int)
    142 0:?                   'g_samp[2]' ( uniform sampler)
    143 0:37              'aggShadow' ( temp 3-element array of sampler)
    144 0:31  Function Definition: main( ( temp void)
    145 0:31    Function Parameters: 
    146 0:?     Sequence
    147 0:31      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
    148 0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
    149 0:31      Sequence
    150 0:31        move second child to first child ( temp 4-component vector of float)
    151 0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
    152 0:31          color: direct index for structure ( temp 4-component vector of float)
    153 0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
    154 0:31            Constant:
    155 0:31              0 (const int)
    156 0:?   Linker Objects
    157 0:?     'g_tex[0]' ( uniform texture1D)
    158 0:?     'g_tex[1]' ( uniform texture1D)
    159 0:?     'g_tex[2]' ( uniform texture1D)
    160 0:?     'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
    161 0:?     'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
    162 0:?     'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
    163 0:?     'g_samp[0]' ( uniform sampler)
    164 0:?     'g_samp[1]' ( uniform sampler)
    165 0:?     'g_samp[2]' ( uniform sampler)
    166 0:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
    167 0:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
    168 0:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
    169 0:?     '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})
    170 0:?     'not_flattened_a' ( global 5-element array of int)
    171 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
    172 
    173 
    174 Linked fragment stage:
    175 
    176 
    177 Shader version: 500
    178 gl_FragCoord origin is upper left
    179 0:? Sequence
    180 0:17  Function Definition: TestFn1( ( temp 4-component vector of float)
    181 0:17    Function Parameters: 
    182 0:?     Sequence
    183 0:18      Branch: Return with expression
    184 0:18        texture ( temp 4-component vector of float)
    185 0:18          Construct combined texture-sampler ( temp sampler1D)
    186 0:?             'g_tex[1]' ( uniform texture1D)
    187 0:?             'g_samp[1]' ( uniform sampler)
    188 0:18          Constant:
    189 0:18            0.200000
    190 0:22  Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
    191 0:22    Function Parameters: 
    192 0:22      'l_tex' ( in 3-element array of texture1D)
    193 0:22      'l_samp' ( in 3-element array of sampler)
    194 0:?     Sequence
    195 0:23      Branch: Return with expression
    196 0:23        texture ( temp 4-component vector of float)
    197 0:23          Construct combined texture-sampler ( temp sampler1D)
    198 0:23            direct index ( temp texture1D)
    199 0:23              'l_tex' ( in 3-element array of texture1D)
    200 0:23              Constant:
    201 0:23                2 (const int)
    202 0:23            direct index ( temp sampler)
    203 0:23              'l_samp' ( in 3-element array of sampler)
    204 0:23              Constant:
    205 0:23                2 (const int)
    206 0:23          Constant:
    207 0:23            0.200000
    208 0:26  Sequence
    209 0:26    move second child to first child ( temp 5-element array of int)
    210 0:26      'not_flattened_a' ( global 5-element array of int)
    211 0:26      Constant:
    212 0:26        1 (const int)
    213 0:26        2 (const int)
    214 0:26        3 (const int)
    215 0:26        4 (const int)
    216 0:26        5 (const int)
    217 0:31  Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
    218 0:31    Function Parameters: 
    219 0:31      'ps_output' ( out structure{ temp 4-component vector of float color})
    220 0:?     Sequence
    221 0:33      Sequence
    222 0:33        Sequence
    223 0:33          move second child to first child ( temp sampler)
    224 0:33            direct index ( temp sampler)
    225 0:33              'local_sampler_array' ( temp 3-element array of sampler)
    226 0:33              Constant:
    227 0:33                0 (const int)
    228 0:?             'g_samp[0]' ( uniform sampler)
    229 0:33          move second child to first child ( temp sampler)
    230 0:33            direct index ( temp sampler)
    231 0:33              'local_sampler_array' ( temp 3-element array of sampler)
    232 0:33              Constant:
    233 0:33                1 (const int)
    234 0:?             'g_samp[1]' ( uniform sampler)
    235 0:33          move second child to first child ( temp sampler)
    236 0:33            direct index ( temp sampler)
    237 0:33              'local_sampler_array' ( temp 3-element array of sampler)
    238 0:33              Constant:
    239 0:33                2 (const int)
    240 0:?             'g_samp[2]' ( uniform sampler)
    241 0:34      Sequence
    242 0:34        Sequence
    243 0:34          move second child to first child ( temp texture1D)
    244 0:34            direct index ( temp texture1D)
    245 0:34              'local_texture_array' ( temp 3-element array of texture1D)
    246 0:34              Constant:
    247 0:34                0 (const int)
    248 0:?             'g_tex[0]' ( uniform texture1D)
    249 0:34          move second child to first child ( temp texture1D)
    250 0:34            direct index ( temp texture1D)
    251 0:34              'local_texture_array' ( temp 3-element array of texture1D)
    252 0:34              Constant:
    253 0:34                1 (const int)
    254 0:?             'g_tex[1]' ( uniform texture1D)
    255 0:34          move second child to first child ( temp texture1D)
    256 0:34            direct index ( temp texture1D)
    257 0:34              'local_texture_array' ( temp 3-element array of texture1D)
    258 0:34              Constant:
    259 0:34                2 (const int)
    260 0:?             'g_tex[2]' ( uniform texture1D)
    261 0:35      Sequence
    262 0:35        move second child to first child ( temp 4-element array of float)
    263 0:35          'local_float_array' ( temp 4-element array of float)
    264 0:35          g_floats: direct index for structure ( uniform 4-element array of float)
    265 0: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})
    266 0:35            Constant:
    267 0:35              2 (const uint)
    268 0:37      move second child to first child ( temp 4-component vector of float)
    269 0:37        color: direct index for structure ( temp 4-component vector of float)
    270 0:37          'ps_output' ( out structure{ temp 4-component vector of float color})
    271 0:37          Constant:
    272 0:37            0 (const int)
    273 0:37        add ( temp 4-component vector of float)
    274 0:37          Function Call: TestFn1( ( temp 4-component vector of float)
    275 0:37          Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
    276 0:37            Comma ( temp 3-element array of texture1D)
    277 0:37              Sequence
    278 0:37                move second child to first child ( temp texture1D)
    279 0:37                  direct index ( temp texture1D)
    280 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    281 0:37                    Constant:
    282 0:37                      0 (const int)
    283 0:?                   'g_tex[0]' ( uniform texture1D)
    284 0:37                move second child to first child ( temp texture1D)
    285 0:37                  direct index ( temp texture1D)
    286 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    287 0:37                    Constant:
    288 0:37                      1 (const int)
    289 0:?                   'g_tex[1]' ( uniform texture1D)
    290 0:37                move second child to first child ( temp texture1D)
    291 0:37                  direct index ( temp texture1D)
    292 0:37                    'aggShadow' ( temp 3-element array of texture1D)
    293 0:37                    Constant:
    294 0:37                      2 (const int)
    295 0:?                   'g_tex[2]' ( uniform texture1D)
    296 0:37              'aggShadow' ( temp 3-element array of texture1D)
    297 0:37            Comma ( temp 3-element array of sampler)
    298 0:37              Sequence
    299 0:37                move second child to first child ( temp sampler)
    300 0:37                  direct index ( temp sampler)
    301 0:37                    'aggShadow' ( temp 3-element array of sampler)
    302 0:37                    Constant:
    303 0:37                      0 (const int)
    304 0:?                   'g_samp[0]' ( uniform sampler)
    305 0:37                move second child to first child ( temp sampler)
    306 0:37                  direct index ( temp sampler)
    307 0:37                    'aggShadow' ( temp 3-element array of sampler)
    308 0:37                    Constant:
    309 0:37                      1 (const int)
    310 0:?                   'g_samp[1]' ( uniform sampler)
    311 0:37                move second child to first child ( temp sampler)
    312 0:37                  direct index ( temp sampler)
    313 0:37                    'aggShadow' ( temp 3-element array of sampler)
    314 0:37                    Constant:
    315 0:37                      2 (const int)
    316 0:?                   'g_samp[2]' ( uniform sampler)
    317 0:37              'aggShadow' ( temp 3-element array of sampler)
    318 0:31  Function Definition: main( ( temp void)
    319 0:31    Function Parameters: 
    320 0:?     Sequence
    321 0:31      Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
    322 0:?         'ps_output' ( temp structure{ temp 4-component vector of float color})
    323 0:31      Sequence
    324 0:31        move second child to first child ( temp 4-component vector of float)
    325 0:?           'ps_output.color' (layout( location=0) out 4-component vector of float)
    326 0:31          color: direct index for structure ( temp 4-component vector of float)
    327 0:?             'ps_output' ( temp structure{ temp 4-component vector of float color})
    328 0:31            Constant:
    329 0:31              0 (const int)
    330 0:?   Linker Objects
    331 0:?     'g_tex[0]' ( uniform texture1D)
    332 0:?     'g_tex[1]' ( uniform texture1D)
    333 0:?     'g_tex[2]' ( uniform texture1D)
    334 0:?     'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
    335 0:?     'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
    336 0:?     'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
    337 0:?     'g_samp[0]' ( uniform sampler)
    338 0:?     'g_samp[1]' ( uniform sampler)
    339 0:?     'g_samp[2]' ( uniform sampler)
    340 0:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
    341 0:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
    342 0:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
    343 0:?     '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})
    344 0:?     'not_flattened_a' ( global 5-element array of int)
    345 0:?     '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 42(g_tex[1]) Binding 0
    397                               Decorate 45(g_samp[1]) DescriptorSet 0
    398                               Decorate 45(g_samp[1]) Binding 0
    399                               Decorate 65(g_samp[0]) DescriptorSet 0
    400                               Decorate 65(g_samp[0]) Binding 0
    401                               Decorate 70(g_samp[2]) DescriptorSet 0
    402                               Decorate 70(g_samp[2]) Binding 0
    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 0
    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 0
    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
    454 34(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)
    489 134(ps_output.color):    133(ptr) Variable Output
    490 137(g_tex_explicit[0]):     41(ptr) Variable UniformConstant
    491 138(g_tex_explicit[1]):     41(ptr) Variable UniformConstant
    492 139(g_tex_explicit[2]):     41(ptr) Variable UniformConstant
    493 140(g_samp_explicit[0]):     44(ptr) Variable UniformConstant
    494 141(g_samp_explicit[1]):     44(ptr) Variable UniformConstant
    495 142(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
    517 22(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
    529 28(@main(struct-PS_OUTPUT-vf41;):           2 Function None 26
    530    27(ps_output):     25(ptr) FunctionParameter
    531               29:             Label
    532 63(local_sampler_array):     18(ptr) Variable Function
    533 73(local_texture_array):     15(ptr) Variable Function
    534 85(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