Home | History | Annotate | Download | only in baseResults
      1 hlsl.intrinsics.comp
      2 Shader version: 500
      3 local_size = (1, 1, 1)
      4 0:? Sequence
      5 0:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
      6 0:17    Function Parameters: 
      7 0:17      'inF0' ( in float)
      8 0:17      'inF1' ( in float)
      9 0:17      'inF2' ( in float)
     10 0:17      'inU0' ( in uint)
     11 0:17      'inU1' ( in uint)
     12 0:?     Sequence
     13 0:21      all ( temp bool)
     14 0:21        Convert float to bool ( temp bool)
     15 0:21          'inF0' ( in float)
     16 0:24      AtomicAdd ( temp uint)
     17 0:24        'gs_ua' ( shared uint)
     18 0:24        'gs_ub' ( shared uint)
     19 0:25      move second child to first child ( temp uint)
     20 0:25        'out_u1' ( temp uint)
     21 0:25        AtomicAdd ( temp uint)
     22 0:25          'gs_ua' ( shared uint)
     23 0:25          'gs_ub' ( shared uint)
     24 0:26      AtomicAnd ( temp uint)
     25 0:26        'gs_ua' ( shared uint)
     26 0:26        'gs_ub' ( shared uint)
     27 0:27      move second child to first child ( temp uint)
     28 0:27        'out_u1' ( temp uint)
     29 0:27        AtomicAnd ( temp uint)
     30 0:27          'gs_ua' ( shared uint)
     31 0:27          'gs_ub' ( shared uint)
     32 0:28      move second child to first child ( temp uint)
     33 0:28        'out_u1' ( temp uint)
     34 0:28        AtomicCompSwap ( temp uint)
     35 0:28          'gs_ua' ( shared uint)
     36 0:28          'gs_ub' ( shared uint)
     37 0:28          'gs_uc' ( shared uint)
     38 0:29      move second child to first child ( temp uint)
     39 0:29        'out_u1' ( temp uint)
     40 0:29        AtomicExchange ( temp uint)
     41 0:29          'gs_ua' ( shared uint)
     42 0:29          'gs_ub' ( shared uint)
     43 0:30      AtomicMax ( temp uint)
     44 0:30        'gs_ua' ( shared uint)
     45 0:30        'gs_ub' ( shared uint)
     46 0:31      move second child to first child ( temp uint)
     47 0:31        'out_u1' ( temp uint)
     48 0:31        AtomicMax ( temp uint)
     49 0:31          'gs_ua' ( shared uint)
     50 0:31          'gs_ub' ( shared uint)
     51 0:32      AtomicMin ( temp uint)
     52 0:32        'gs_ua' ( shared uint)
     53 0:32        'gs_ub' ( shared uint)
     54 0:33      move second child to first child ( temp uint)
     55 0:33        'out_u1' ( temp uint)
     56 0:33        AtomicMin ( temp uint)
     57 0:33          'gs_ua' ( shared uint)
     58 0:33          'gs_ub' ( shared uint)
     59 0:34      AtomicOr ( temp uint)
     60 0:34        'gs_ua' ( shared uint)
     61 0:34        'gs_ub' ( shared uint)
     62 0:35      move second child to first child ( temp uint)
     63 0:35        'out_u1' ( temp uint)
     64 0:35        AtomicOr ( temp uint)
     65 0:35          'gs_ua' ( shared uint)
     66 0:35          'gs_ub' ( shared uint)
     67 0:36      AtomicXor ( temp uint)
     68 0:36        'gs_ua' ( shared uint)
     69 0:36        'gs_ub' ( shared uint)
     70 0:37      move second child to first child ( temp uint)
     71 0:37        'out_u1' ( temp uint)
     72 0:37        AtomicXor ( temp uint)
     73 0:37          'gs_ua' ( shared uint)
     74 0:37          'gs_ub' ( shared uint)
     75 0:41      Branch: Return with expression
     76 0:41        Constant:
     77 0:41          0.000000
     78 0:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
     79 0:45    Function Parameters: 
     80 0:45      'inF0' ( in 1-component vector of float)
     81 0:45      'inF1' ( in 1-component vector of float)
     82 0:45      'inF2' ( in 1-component vector of float)
     83 0:?     Sequence
     84 0:47      Branch: Return with expression
     85 0:47        Constant:
     86 0:47          0.000000
     87 0:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
     88 0:51    Function Parameters: 
     89 0:51      'inF0' ( in 2-component vector of float)
     90 0:51      'inF1' ( in 2-component vector of float)
     91 0:51      'inF2' ( in 2-component vector of float)
     92 0:51      'inU0' ( in 2-component vector of uint)
     93 0:51      'inU1' ( in 2-component vector of uint)
     94 0:?     Sequence
     95 0:55      all ( temp bool)
     96 0:55        Convert float to bool ( temp 2-component vector of bool)
     97 0:55          'inF0' ( in 2-component vector of float)
     98 0:58      AtomicAdd ( temp 2-component vector of uint)
     99 0:58        'gs_ua2' ( shared 2-component vector of uint)
    100 0:58        'gs_ub2' ( shared 2-component vector of uint)
    101 0:59      move second child to first child ( temp 2-component vector of uint)
    102 0:59        'out_u2' ( temp 2-component vector of uint)
    103 0:59        AtomicAdd ( temp 2-component vector of uint)
    104 0:59          'gs_ua2' ( shared 2-component vector of uint)
    105 0:59          'gs_ub2' ( shared 2-component vector of uint)
    106 0:60      AtomicAnd ( temp 2-component vector of uint)
    107 0:60        'gs_ua2' ( shared 2-component vector of uint)
    108 0:60        'gs_ub2' ( shared 2-component vector of uint)
    109 0:61      move second child to first child ( temp 2-component vector of uint)
    110 0:61        'out_u2' ( temp 2-component vector of uint)
    111 0:61        AtomicAnd ( temp 2-component vector of uint)
    112 0:61          'gs_ua2' ( shared 2-component vector of uint)
    113 0:61          'gs_ub2' ( shared 2-component vector of uint)
    114 0:62      move second child to first child ( temp 2-component vector of uint)
    115 0:62        'out_u2' ( temp 2-component vector of uint)
    116 0:62        AtomicCompSwap ( temp 2-component vector of uint)
    117 0:62          'gs_ua2' ( shared 2-component vector of uint)
    118 0:62          'gs_ub2' ( shared 2-component vector of uint)
    119 0:62          'gs_uc2' ( shared 2-component vector of uint)
    120 0:63      move second child to first child ( temp 2-component vector of uint)
    121 0:63        'out_u2' ( temp 2-component vector of uint)
    122 0:63        AtomicExchange ( temp 2-component vector of uint)
    123 0:63          'gs_ua2' ( shared 2-component vector of uint)
    124 0:63          'gs_ub2' ( shared 2-component vector of uint)
    125 0:64      AtomicMax ( temp 2-component vector of uint)
    126 0:64        'gs_ua2' ( shared 2-component vector of uint)
    127 0:64        'gs_ub2' ( shared 2-component vector of uint)
    128 0:65      move second child to first child ( temp 2-component vector of uint)
    129 0:65        'out_u2' ( temp 2-component vector of uint)
    130 0:65        AtomicMax ( temp 2-component vector of uint)
    131 0:65          'gs_ua2' ( shared 2-component vector of uint)
    132 0:65          'gs_ub2' ( shared 2-component vector of uint)
    133 0:66      AtomicMin ( temp 2-component vector of uint)
    134 0:66        'gs_ua2' ( shared 2-component vector of uint)
    135 0:66        'gs_ub2' ( shared 2-component vector of uint)
    136 0:67      move second child to first child ( temp 2-component vector of uint)
    137 0:67        'out_u2' ( temp 2-component vector of uint)
    138 0:67        AtomicMin ( temp 2-component vector of uint)
    139 0:67          'gs_ua2' ( shared 2-component vector of uint)
    140 0:67          'gs_ub2' ( shared 2-component vector of uint)
    141 0:68      AtomicOr ( temp 2-component vector of uint)
    142 0:68        'gs_ua2' ( shared 2-component vector of uint)
    143 0:68        'gs_ub2' ( shared 2-component vector of uint)
    144 0:69      move second child to first child ( temp 2-component vector of uint)
    145 0:69        'out_u2' ( temp 2-component vector of uint)
    146 0:69        AtomicOr ( temp 2-component vector of uint)
    147 0:69          'gs_ua2' ( shared 2-component vector of uint)
    148 0:69          'gs_ub2' ( shared 2-component vector of uint)
    149 0:70      AtomicXor ( temp 2-component vector of uint)
    150 0:70        'gs_ua2' ( shared 2-component vector of uint)
    151 0:70        'gs_ub2' ( shared 2-component vector of uint)
    152 0:71      move second child to first child ( temp 2-component vector of uint)
    153 0:71        'out_u2' ( temp 2-component vector of uint)
    154 0:71        AtomicXor ( temp 2-component vector of uint)
    155 0:71          'gs_ua2' ( shared 2-component vector of uint)
    156 0:71          'gs_ub2' ( shared 2-component vector of uint)
    157 0:74      Branch: Return with expression
    158 0:?         Constant:
    159 0:?           1.000000
    160 0:?           2.000000
    161 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
    162 0:78    Function Parameters: 
    163 0:78      'inF0' ( in 3-component vector of float)
    164 0:78      'inF1' ( in 3-component vector of float)
    165 0:78      'inF2' ( in 3-component vector of float)
    166 0:78      'inU0' ( in 3-component vector of uint)
    167 0:78      'inU1' ( in 3-component vector of uint)
    168 0:?     Sequence
    169 0:82      all ( temp bool)
    170 0:82        Convert float to bool ( temp 3-component vector of bool)
    171 0:82          'inF0' ( in 3-component vector of float)
    172 0:85      AtomicAdd ( temp 3-component vector of uint)
    173 0:85        'gs_ua3' ( shared 3-component vector of uint)
    174 0:85        'gs_ub3' ( shared 3-component vector of uint)
    175 0:86      move second child to first child ( temp 3-component vector of uint)
    176 0:86        'out_u3' ( temp 3-component vector of uint)
    177 0:86        AtomicAdd ( temp 3-component vector of uint)
    178 0:86          'gs_ua3' ( shared 3-component vector of uint)
    179 0:86          'gs_ub3' ( shared 3-component vector of uint)
    180 0:87      AtomicAnd ( temp 3-component vector of uint)
    181 0:87        'gs_ua3' ( shared 3-component vector of uint)
    182 0:87        'gs_ub3' ( shared 3-component vector of uint)
    183 0:88      move second child to first child ( temp 3-component vector of uint)
    184 0:88        'out_u3' ( temp 3-component vector of uint)
    185 0:88        AtomicAnd ( temp 3-component vector of uint)
    186 0:88          'gs_ua3' ( shared 3-component vector of uint)
    187 0:88          'gs_ub3' ( shared 3-component vector of uint)
    188 0:89      move second child to first child ( temp 3-component vector of uint)
    189 0:89        'out_u3' ( temp 3-component vector of uint)
    190 0:89        AtomicCompSwap ( temp 3-component vector of uint)
    191 0:89          'gs_ua3' ( shared 3-component vector of uint)
    192 0:89          'gs_ub3' ( shared 3-component vector of uint)
    193 0:89          'gs_uc3' ( shared 3-component vector of uint)
    194 0:90      move second child to first child ( temp 3-component vector of uint)
    195 0:90        'out_u3' ( temp 3-component vector of uint)
    196 0:90        AtomicExchange ( temp 3-component vector of uint)
    197 0:90          'gs_ua3' ( shared 3-component vector of uint)
    198 0:90          'gs_ub3' ( shared 3-component vector of uint)
    199 0:91      AtomicMax ( temp 3-component vector of uint)
    200 0:91        'gs_ua3' ( shared 3-component vector of uint)
    201 0:91        'gs_ub3' ( shared 3-component vector of uint)
    202 0:92      move second child to first child ( temp 3-component vector of uint)
    203 0:92        'out_u3' ( temp 3-component vector of uint)
    204 0:92        AtomicMax ( temp 3-component vector of uint)
    205 0:92          'gs_ua3' ( shared 3-component vector of uint)
    206 0:92          'gs_ub3' ( shared 3-component vector of uint)
    207 0:93      AtomicMin ( temp 3-component vector of uint)
    208 0:93        'gs_ua3' ( shared 3-component vector of uint)
    209 0:93        'gs_ub3' ( shared 3-component vector of uint)
    210 0:94      move second child to first child ( temp 3-component vector of uint)
    211 0:94        'out_u3' ( temp 3-component vector of uint)
    212 0:94        AtomicMin ( temp 3-component vector of uint)
    213 0:94          'gs_ua3' ( shared 3-component vector of uint)
    214 0:94          'gs_ub3' ( shared 3-component vector of uint)
    215 0:95      AtomicOr ( temp 3-component vector of uint)
    216 0:95        'gs_ua3' ( shared 3-component vector of uint)
    217 0:95        'gs_ub3' ( shared 3-component vector of uint)
    218 0:96      move second child to first child ( temp 3-component vector of uint)
    219 0:96        'out_u3' ( temp 3-component vector of uint)
    220 0:96        AtomicOr ( temp 3-component vector of uint)
    221 0:96          'gs_ua3' ( shared 3-component vector of uint)
    222 0:96          'gs_ub3' ( shared 3-component vector of uint)
    223 0:97      AtomicXor ( temp 3-component vector of uint)
    224 0:97        'gs_ua3' ( shared 3-component vector of uint)
    225 0:97        'gs_ub3' ( shared 3-component vector of uint)
    226 0:98      move second child to first child ( temp 3-component vector of uint)
    227 0:98        'out_u3' ( temp 3-component vector of uint)
    228 0:98        AtomicXor ( temp 3-component vector of uint)
    229 0:98          'gs_ua3' ( shared 3-component vector of uint)
    230 0:98          'gs_ub3' ( shared 3-component vector of uint)
    231 0:101      Branch: Return with expression
    232 0:?         Constant:
    233 0:?           1.000000
    234 0:?           2.000000
    235 0:?           3.000000
    236 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
    237 0:105    Function Parameters: 
    238 0:105      'inF0' ( in 4-component vector of float)
    239 0:105      'inF1' ( in 4-component vector of float)
    240 0:105      'inF2' ( in 4-component vector of float)
    241 0:105      'inU0' ( in 4-component vector of uint)
    242 0:105      'inU1' ( in 4-component vector of uint)
    243 0:?     Sequence
    244 0:109      all ( temp bool)
    245 0:109        Convert float to bool ( temp 4-component vector of bool)
    246 0:109          'inF0' ( in 4-component vector of float)
    247 0:112      AtomicAdd ( temp 4-component vector of uint)
    248 0:112        'gs_ua4' ( shared 4-component vector of uint)
    249 0:112        'gs_ub4' ( shared 4-component vector of uint)
    250 0:113      move second child to first child ( temp 4-component vector of uint)
    251 0:113        'out_u4' ( temp 4-component vector of uint)
    252 0:113        AtomicAdd ( temp 4-component vector of uint)
    253 0:113          'gs_ua4' ( shared 4-component vector of uint)
    254 0:113          'gs_ub4' ( shared 4-component vector of uint)
    255 0:114      AtomicAnd ( temp 4-component vector of uint)
    256 0:114        'gs_ua4' ( shared 4-component vector of uint)
    257 0:114        'gs_ub4' ( shared 4-component vector of uint)
    258 0:115      move second child to first child ( temp 4-component vector of uint)
    259 0:115        'out_u4' ( temp 4-component vector of uint)
    260 0:115        AtomicAnd ( temp 4-component vector of uint)
    261 0:115          'gs_ua4' ( shared 4-component vector of uint)
    262 0:115          'gs_ub4' ( shared 4-component vector of uint)
    263 0:116      move second child to first child ( temp 4-component vector of uint)
    264 0:116        'out_u4' ( temp 4-component vector of uint)
    265 0:116        AtomicCompSwap ( temp 4-component vector of uint)
    266 0:116          'gs_ua4' ( shared 4-component vector of uint)
    267 0:116          'gs_ub4' ( shared 4-component vector of uint)
    268 0:116          'gs_uc4' ( shared 4-component vector of uint)
    269 0:117      move second child to first child ( temp 4-component vector of uint)
    270 0:117        'out_u4' ( temp 4-component vector of uint)
    271 0:117        AtomicExchange ( temp 4-component vector of uint)
    272 0:117          'gs_ua4' ( shared 4-component vector of uint)
    273 0:117          'gs_ub4' ( shared 4-component vector of uint)
    274 0:118      AtomicMax ( temp 4-component vector of uint)
    275 0:118        'gs_ua4' ( shared 4-component vector of uint)
    276 0:118        'gs_ub4' ( shared 4-component vector of uint)
    277 0:119      move second child to first child ( temp 4-component vector of uint)
    278 0:119        'out_u4' ( temp 4-component vector of uint)
    279 0:119        AtomicMax ( temp 4-component vector of uint)
    280 0:119          'gs_ua4' ( shared 4-component vector of uint)
    281 0:119          'gs_ub4' ( shared 4-component vector of uint)
    282 0:120      AtomicMin ( temp 4-component vector of uint)
    283 0:120        'gs_ua4' ( shared 4-component vector of uint)
    284 0:120        'gs_ub4' ( shared 4-component vector of uint)
    285 0:121      move second child to first child ( temp 4-component vector of uint)
    286 0:121        'out_u4' ( temp 4-component vector of uint)
    287 0:121        AtomicMin ( temp 4-component vector of uint)
    288 0:121          'gs_ua4' ( shared 4-component vector of uint)
    289 0:121          'gs_ub4' ( shared 4-component vector of uint)
    290 0:122      AtomicOr ( temp 4-component vector of uint)
    291 0:122        'gs_ua4' ( shared 4-component vector of uint)
    292 0:122        'gs_ub4' ( shared 4-component vector of uint)
    293 0:123      move second child to first child ( temp 4-component vector of uint)
    294 0:123        'out_u4' ( temp 4-component vector of uint)
    295 0:123        AtomicOr ( temp 4-component vector of uint)
    296 0:123          'gs_ua4' ( shared 4-component vector of uint)
    297 0:123          'gs_ub4' ( shared 4-component vector of uint)
    298 0:124      AtomicXor ( temp 4-component vector of uint)
    299 0:124        'gs_ua4' ( shared 4-component vector of uint)
    300 0:124        'gs_ub4' ( shared 4-component vector of uint)
    301 0:125      move second child to first child ( temp 4-component vector of uint)
    302 0:125        'out_u4' ( temp 4-component vector of uint)
    303 0:125        AtomicXor ( temp 4-component vector of uint)
    304 0:125          'gs_ua4' ( shared 4-component vector of uint)
    305 0:125          'gs_ub4' ( shared 4-component vector of uint)
    306 0:128      Branch: Return with expression
    307 0:?         Constant:
    308 0:?           1.000000
    309 0:?           2.000000
    310 0:?           3.000000
    311 0:?           4.000000
    312 0:105  Function Definition: ComputeShaderFunction( ( temp void)
    313 0:105    Function Parameters: 
    314 0:?     Sequence
    315 0:105      move second child to first child ( temp 4-component vector of float)
    316 0:?         'inF0' ( temp 4-component vector of float)
    317 0:?         'inF0' (layout( location=0) in 4-component vector of float)
    318 0:105      move second child to first child ( temp 4-component vector of float)
    319 0:?         'inF1' ( temp 4-component vector of float)
    320 0:?         'inF1' (layout( location=1) in 4-component vector of float)
    321 0:105      move second child to first child ( temp 4-component vector of float)
    322 0:?         'inF2' ( temp 4-component vector of float)
    323 0:?         'inF2' (layout( location=2) in 4-component vector of float)
    324 0:105      move second child to first child ( temp 4-component vector of uint)
    325 0:?         'inU0' ( temp 4-component vector of uint)
    326 0:?         'inU0' (layout( location=3) in 4-component vector of uint)
    327 0:105      move second child to first child ( temp 4-component vector of uint)
    328 0:?         'inU1' ( temp 4-component vector of uint)
    329 0:?         'inU1' (layout( location=4) in 4-component vector of uint)
    330 0:105      move second child to first child ( temp 4-component vector of float)
    331 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    332 0:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
    333 0:?           'inF0' ( temp 4-component vector of float)
    334 0:?           'inF1' ( temp 4-component vector of float)
    335 0:?           'inF2' ( temp 4-component vector of float)
    336 0:?           'inU0' ( temp 4-component vector of uint)
    337 0:?           'inU1' ( temp 4-component vector of uint)
    338 0:?   Linker Objects
    339 0:?     'gs_ua' ( shared uint)
    340 0:?     'gs_ub' ( shared uint)
    341 0:?     'gs_uc' ( shared uint)
    342 0:?     'gs_ua2' ( shared 2-component vector of uint)
    343 0:?     'gs_ub2' ( shared 2-component vector of uint)
    344 0:?     'gs_uc2' ( shared 2-component vector of uint)
    345 0:?     'gs_ua3' ( shared 3-component vector of uint)
    346 0:?     'gs_ub3' ( shared 3-component vector of uint)
    347 0:?     'gs_uc3' ( shared 3-component vector of uint)
    348 0:?     'gs_ua4' ( shared 4-component vector of uint)
    349 0:?     'gs_ub4' ( shared 4-component vector of uint)
    350 0:?     'gs_uc4' ( shared 4-component vector of uint)
    351 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    352 0:?     'inF0' (layout( location=0) in 4-component vector of float)
    353 0:?     'inF1' (layout( location=1) in 4-component vector of float)
    354 0:?     'inF2' (layout( location=2) in 4-component vector of float)
    355 0:?     'inU0' (layout( location=3) in 4-component vector of uint)
    356 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
    357 
    358 
    359 Linked compute stage:
    360 
    361 
    362 Shader version: 500
    363 local_size = (1, 1, 1)
    364 0:? Sequence
    365 0:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
    366 0:17    Function Parameters: 
    367 0:17      'inF0' ( in float)
    368 0:17      'inF1' ( in float)
    369 0:17      'inF2' ( in float)
    370 0:17      'inU0' ( in uint)
    371 0:17      'inU1' ( in uint)
    372 0:?     Sequence
    373 0:21      all ( temp bool)
    374 0:21        Convert float to bool ( temp bool)
    375 0:21          'inF0' ( in float)
    376 0:24      AtomicAdd ( temp uint)
    377 0:24        'gs_ua' ( shared uint)
    378 0:24        'gs_ub' ( shared uint)
    379 0:25      move second child to first child ( temp uint)
    380 0:25        'out_u1' ( temp uint)
    381 0:25        AtomicAdd ( temp uint)
    382 0:25          'gs_ua' ( shared uint)
    383 0:25          'gs_ub' ( shared uint)
    384 0:26      AtomicAnd ( temp uint)
    385 0:26        'gs_ua' ( shared uint)
    386 0:26        'gs_ub' ( shared uint)
    387 0:27      move second child to first child ( temp uint)
    388 0:27        'out_u1' ( temp uint)
    389 0:27        AtomicAnd ( temp uint)
    390 0:27          'gs_ua' ( shared uint)
    391 0:27          'gs_ub' ( shared uint)
    392 0:28      move second child to first child ( temp uint)
    393 0:28        'out_u1' ( temp uint)
    394 0:28        AtomicCompSwap ( temp uint)
    395 0:28          'gs_ua' ( shared uint)
    396 0:28          'gs_ub' ( shared uint)
    397 0:28          'gs_uc' ( shared uint)
    398 0:29      move second child to first child ( temp uint)
    399 0:29        'out_u1' ( temp uint)
    400 0:29        AtomicExchange ( temp uint)
    401 0:29          'gs_ua' ( shared uint)
    402 0:29          'gs_ub' ( shared uint)
    403 0:30      AtomicMax ( temp uint)
    404 0:30        'gs_ua' ( shared uint)
    405 0:30        'gs_ub' ( shared uint)
    406 0:31      move second child to first child ( temp uint)
    407 0:31        'out_u1' ( temp uint)
    408 0:31        AtomicMax ( temp uint)
    409 0:31          'gs_ua' ( shared uint)
    410 0:31          'gs_ub' ( shared uint)
    411 0:32      AtomicMin ( temp uint)
    412 0:32        'gs_ua' ( shared uint)
    413 0:32        'gs_ub' ( shared uint)
    414 0:33      move second child to first child ( temp uint)
    415 0:33        'out_u1' ( temp uint)
    416 0:33        AtomicMin ( temp uint)
    417 0:33          'gs_ua' ( shared uint)
    418 0:33          'gs_ub' ( shared uint)
    419 0:34      AtomicOr ( temp uint)
    420 0:34        'gs_ua' ( shared uint)
    421 0:34        'gs_ub' ( shared uint)
    422 0:35      move second child to first child ( temp uint)
    423 0:35        'out_u1' ( temp uint)
    424 0:35        AtomicOr ( temp uint)
    425 0:35          'gs_ua' ( shared uint)
    426 0:35          'gs_ub' ( shared uint)
    427 0:36      AtomicXor ( temp uint)
    428 0:36        'gs_ua' ( shared uint)
    429 0:36        'gs_ub' ( shared uint)
    430 0:37      move second child to first child ( temp uint)
    431 0:37        'out_u1' ( temp uint)
    432 0:37        AtomicXor ( temp uint)
    433 0:37          'gs_ua' ( shared uint)
    434 0:37          'gs_ub' ( shared uint)
    435 0:41      Branch: Return with expression
    436 0:41        Constant:
    437 0:41          0.000000
    438 0:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
    439 0:45    Function Parameters: 
    440 0:45      'inF0' ( in 1-component vector of float)
    441 0:45      'inF1' ( in 1-component vector of float)
    442 0:45      'inF2' ( in 1-component vector of float)
    443 0:?     Sequence
    444 0:47      Branch: Return with expression
    445 0:47        Constant:
    446 0:47          0.000000
    447 0:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
    448 0:51    Function Parameters: 
    449 0:51      'inF0' ( in 2-component vector of float)
    450 0:51      'inF1' ( in 2-component vector of float)
    451 0:51      'inF2' ( in 2-component vector of float)
    452 0:51      'inU0' ( in 2-component vector of uint)
    453 0:51      'inU1' ( in 2-component vector of uint)
    454 0:?     Sequence
    455 0:55      all ( temp bool)
    456 0:55        Convert float to bool ( temp 2-component vector of bool)
    457 0:55          'inF0' ( in 2-component vector of float)
    458 0:58      AtomicAdd ( temp 2-component vector of uint)
    459 0:58        'gs_ua2' ( shared 2-component vector of uint)
    460 0:58        'gs_ub2' ( shared 2-component vector of uint)
    461 0:59      move second child to first child ( temp 2-component vector of uint)
    462 0:59        'out_u2' ( temp 2-component vector of uint)
    463 0:59        AtomicAdd ( temp 2-component vector of uint)
    464 0:59          'gs_ua2' ( shared 2-component vector of uint)
    465 0:59          'gs_ub2' ( shared 2-component vector of uint)
    466 0:60      AtomicAnd ( temp 2-component vector of uint)
    467 0:60        'gs_ua2' ( shared 2-component vector of uint)
    468 0:60        'gs_ub2' ( shared 2-component vector of uint)
    469 0:61      move second child to first child ( temp 2-component vector of uint)
    470 0:61        'out_u2' ( temp 2-component vector of uint)
    471 0:61        AtomicAnd ( temp 2-component vector of uint)
    472 0:61          'gs_ua2' ( shared 2-component vector of uint)
    473 0:61          'gs_ub2' ( shared 2-component vector of uint)
    474 0:62      move second child to first child ( temp 2-component vector of uint)
    475 0:62        'out_u2' ( temp 2-component vector of uint)
    476 0:62        AtomicCompSwap ( temp 2-component vector of uint)
    477 0:62          'gs_ua2' ( shared 2-component vector of uint)
    478 0:62          'gs_ub2' ( shared 2-component vector of uint)
    479 0:62          'gs_uc2' ( shared 2-component vector of uint)
    480 0:63      move second child to first child ( temp 2-component vector of uint)
    481 0:63        'out_u2' ( temp 2-component vector of uint)
    482 0:63        AtomicExchange ( temp 2-component vector of uint)
    483 0:63          'gs_ua2' ( shared 2-component vector of uint)
    484 0:63          'gs_ub2' ( shared 2-component vector of uint)
    485 0:64      AtomicMax ( temp 2-component vector of uint)
    486 0:64        'gs_ua2' ( shared 2-component vector of uint)
    487 0:64        'gs_ub2' ( shared 2-component vector of uint)
    488 0:65      move second child to first child ( temp 2-component vector of uint)
    489 0:65        'out_u2' ( temp 2-component vector of uint)
    490 0:65        AtomicMax ( temp 2-component vector of uint)
    491 0:65          'gs_ua2' ( shared 2-component vector of uint)
    492 0:65          'gs_ub2' ( shared 2-component vector of uint)
    493 0:66      AtomicMin ( temp 2-component vector of uint)
    494 0:66        'gs_ua2' ( shared 2-component vector of uint)
    495 0:66        'gs_ub2' ( shared 2-component vector of uint)
    496 0:67      move second child to first child ( temp 2-component vector of uint)
    497 0:67        'out_u2' ( temp 2-component vector of uint)
    498 0:67        AtomicMin ( temp 2-component vector of uint)
    499 0:67          'gs_ua2' ( shared 2-component vector of uint)
    500 0:67          'gs_ub2' ( shared 2-component vector of uint)
    501 0:68      AtomicOr ( temp 2-component vector of uint)
    502 0:68        'gs_ua2' ( shared 2-component vector of uint)
    503 0:68        'gs_ub2' ( shared 2-component vector of uint)
    504 0:69      move second child to first child ( temp 2-component vector of uint)
    505 0:69        'out_u2' ( temp 2-component vector of uint)
    506 0:69        AtomicOr ( temp 2-component vector of uint)
    507 0:69          'gs_ua2' ( shared 2-component vector of uint)
    508 0:69          'gs_ub2' ( shared 2-component vector of uint)
    509 0:70      AtomicXor ( temp 2-component vector of uint)
    510 0:70        'gs_ua2' ( shared 2-component vector of uint)
    511 0:70        'gs_ub2' ( shared 2-component vector of uint)
    512 0:71      move second child to first child ( temp 2-component vector of uint)
    513 0:71        'out_u2' ( temp 2-component vector of uint)
    514 0:71        AtomicXor ( temp 2-component vector of uint)
    515 0:71          'gs_ua2' ( shared 2-component vector of uint)
    516 0:71          'gs_ub2' ( shared 2-component vector of uint)
    517 0:74      Branch: Return with expression
    518 0:?         Constant:
    519 0:?           1.000000
    520 0:?           2.000000
    521 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
    522 0:78    Function Parameters: 
    523 0:78      'inF0' ( in 3-component vector of float)
    524 0:78      'inF1' ( in 3-component vector of float)
    525 0:78      'inF2' ( in 3-component vector of float)
    526 0:78      'inU0' ( in 3-component vector of uint)
    527 0:78      'inU1' ( in 3-component vector of uint)
    528 0:?     Sequence
    529 0:82      all ( temp bool)
    530 0:82        Convert float to bool ( temp 3-component vector of bool)
    531 0:82          'inF0' ( in 3-component vector of float)
    532 0:85      AtomicAdd ( temp 3-component vector of uint)
    533 0:85        'gs_ua3' ( shared 3-component vector of uint)
    534 0:85        'gs_ub3' ( shared 3-component vector of uint)
    535 0:86      move second child to first child ( temp 3-component vector of uint)
    536 0:86        'out_u3' ( temp 3-component vector of uint)
    537 0:86        AtomicAdd ( temp 3-component vector of uint)
    538 0:86          'gs_ua3' ( shared 3-component vector of uint)
    539 0:86          'gs_ub3' ( shared 3-component vector of uint)
    540 0:87      AtomicAnd ( temp 3-component vector of uint)
    541 0:87        'gs_ua3' ( shared 3-component vector of uint)
    542 0:87        'gs_ub3' ( shared 3-component vector of uint)
    543 0:88      move second child to first child ( temp 3-component vector of uint)
    544 0:88        'out_u3' ( temp 3-component vector of uint)
    545 0:88        AtomicAnd ( temp 3-component vector of uint)
    546 0:88          'gs_ua3' ( shared 3-component vector of uint)
    547 0:88          'gs_ub3' ( shared 3-component vector of uint)
    548 0:89      move second child to first child ( temp 3-component vector of uint)
    549 0:89        'out_u3' ( temp 3-component vector of uint)
    550 0:89        AtomicCompSwap ( temp 3-component vector of uint)
    551 0:89          'gs_ua3' ( shared 3-component vector of uint)
    552 0:89          'gs_ub3' ( shared 3-component vector of uint)
    553 0:89          'gs_uc3' ( shared 3-component vector of uint)
    554 0:90      move second child to first child ( temp 3-component vector of uint)
    555 0:90        'out_u3' ( temp 3-component vector of uint)
    556 0:90        AtomicExchange ( temp 3-component vector of uint)
    557 0:90          'gs_ua3' ( shared 3-component vector of uint)
    558 0:90          'gs_ub3' ( shared 3-component vector of uint)
    559 0:91      AtomicMax ( temp 3-component vector of uint)
    560 0:91        'gs_ua3' ( shared 3-component vector of uint)
    561 0:91        'gs_ub3' ( shared 3-component vector of uint)
    562 0:92      move second child to first child ( temp 3-component vector of uint)
    563 0:92        'out_u3' ( temp 3-component vector of uint)
    564 0:92        AtomicMax ( temp 3-component vector of uint)
    565 0:92          'gs_ua3' ( shared 3-component vector of uint)
    566 0:92          'gs_ub3' ( shared 3-component vector of uint)
    567 0:93      AtomicMin ( temp 3-component vector of uint)
    568 0:93        'gs_ua3' ( shared 3-component vector of uint)
    569 0:93        'gs_ub3' ( shared 3-component vector of uint)
    570 0:94      move second child to first child ( temp 3-component vector of uint)
    571 0:94        'out_u3' ( temp 3-component vector of uint)
    572 0:94        AtomicMin ( temp 3-component vector of uint)
    573 0:94          'gs_ua3' ( shared 3-component vector of uint)
    574 0:94          'gs_ub3' ( shared 3-component vector of uint)
    575 0:95      AtomicOr ( temp 3-component vector of uint)
    576 0:95        'gs_ua3' ( shared 3-component vector of uint)
    577 0:95        'gs_ub3' ( shared 3-component vector of uint)
    578 0:96      move second child to first child ( temp 3-component vector of uint)
    579 0:96        'out_u3' ( temp 3-component vector of uint)
    580 0:96        AtomicOr ( temp 3-component vector of uint)
    581 0:96          'gs_ua3' ( shared 3-component vector of uint)
    582 0:96          'gs_ub3' ( shared 3-component vector of uint)
    583 0:97      AtomicXor ( temp 3-component vector of uint)
    584 0:97        'gs_ua3' ( shared 3-component vector of uint)
    585 0:97        'gs_ub3' ( shared 3-component vector of uint)
    586 0:98      move second child to first child ( temp 3-component vector of uint)
    587 0:98        'out_u3' ( temp 3-component vector of uint)
    588 0:98        AtomicXor ( temp 3-component vector of uint)
    589 0:98          'gs_ua3' ( shared 3-component vector of uint)
    590 0:98          'gs_ub3' ( shared 3-component vector of uint)
    591 0:101      Branch: Return with expression
    592 0:?         Constant:
    593 0:?           1.000000
    594 0:?           2.000000
    595 0:?           3.000000
    596 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
    597 0:105    Function Parameters: 
    598 0:105      'inF0' ( in 4-component vector of float)
    599 0:105      'inF1' ( in 4-component vector of float)
    600 0:105      'inF2' ( in 4-component vector of float)
    601 0:105      'inU0' ( in 4-component vector of uint)
    602 0:105      'inU1' ( in 4-component vector of uint)
    603 0:?     Sequence
    604 0:109      all ( temp bool)
    605 0:109        Convert float to bool ( temp 4-component vector of bool)
    606 0:109          'inF0' ( in 4-component vector of float)
    607 0:112      AtomicAdd ( temp 4-component vector of uint)
    608 0:112        'gs_ua4' ( shared 4-component vector of uint)
    609 0:112        'gs_ub4' ( shared 4-component vector of uint)
    610 0:113      move second child to first child ( temp 4-component vector of uint)
    611 0:113        'out_u4' ( temp 4-component vector of uint)
    612 0:113        AtomicAdd ( temp 4-component vector of uint)
    613 0:113          'gs_ua4' ( shared 4-component vector of uint)
    614 0:113          'gs_ub4' ( shared 4-component vector of uint)
    615 0:114      AtomicAnd ( temp 4-component vector of uint)
    616 0:114        'gs_ua4' ( shared 4-component vector of uint)
    617 0:114        'gs_ub4' ( shared 4-component vector of uint)
    618 0:115      move second child to first child ( temp 4-component vector of uint)
    619 0:115        'out_u4' ( temp 4-component vector of uint)
    620 0:115        AtomicAnd ( temp 4-component vector of uint)
    621 0:115          'gs_ua4' ( shared 4-component vector of uint)
    622 0:115          'gs_ub4' ( shared 4-component vector of uint)
    623 0:116      move second child to first child ( temp 4-component vector of uint)
    624 0:116        'out_u4' ( temp 4-component vector of uint)
    625 0:116        AtomicCompSwap ( temp 4-component vector of uint)
    626 0:116          'gs_ua4' ( shared 4-component vector of uint)
    627 0:116          'gs_ub4' ( shared 4-component vector of uint)
    628 0:116          'gs_uc4' ( shared 4-component vector of uint)
    629 0:117      move second child to first child ( temp 4-component vector of uint)
    630 0:117        'out_u4' ( temp 4-component vector of uint)
    631 0:117        AtomicExchange ( temp 4-component vector of uint)
    632 0:117          'gs_ua4' ( shared 4-component vector of uint)
    633 0:117          'gs_ub4' ( shared 4-component vector of uint)
    634 0:118      AtomicMax ( temp 4-component vector of uint)
    635 0:118        'gs_ua4' ( shared 4-component vector of uint)
    636 0:118        'gs_ub4' ( shared 4-component vector of uint)
    637 0:119      move second child to first child ( temp 4-component vector of uint)
    638 0:119        'out_u4' ( temp 4-component vector of uint)
    639 0:119        AtomicMax ( temp 4-component vector of uint)
    640 0:119          'gs_ua4' ( shared 4-component vector of uint)
    641 0:119          'gs_ub4' ( shared 4-component vector of uint)
    642 0:120      AtomicMin ( temp 4-component vector of uint)
    643 0:120        'gs_ua4' ( shared 4-component vector of uint)
    644 0:120        'gs_ub4' ( shared 4-component vector of uint)
    645 0:121      move second child to first child ( temp 4-component vector of uint)
    646 0:121        'out_u4' ( temp 4-component vector of uint)
    647 0:121        AtomicMin ( temp 4-component vector of uint)
    648 0:121          'gs_ua4' ( shared 4-component vector of uint)
    649 0:121          'gs_ub4' ( shared 4-component vector of uint)
    650 0:122      AtomicOr ( temp 4-component vector of uint)
    651 0:122        'gs_ua4' ( shared 4-component vector of uint)
    652 0:122        'gs_ub4' ( shared 4-component vector of uint)
    653 0:123      move second child to first child ( temp 4-component vector of uint)
    654 0:123        'out_u4' ( temp 4-component vector of uint)
    655 0:123        AtomicOr ( temp 4-component vector of uint)
    656 0:123          'gs_ua4' ( shared 4-component vector of uint)
    657 0:123          'gs_ub4' ( shared 4-component vector of uint)
    658 0:124      AtomicXor ( temp 4-component vector of uint)
    659 0:124        'gs_ua4' ( shared 4-component vector of uint)
    660 0:124        'gs_ub4' ( shared 4-component vector of uint)
    661 0:125      move second child to first child ( temp 4-component vector of uint)
    662 0:125        'out_u4' ( temp 4-component vector of uint)
    663 0:125        AtomicXor ( temp 4-component vector of uint)
    664 0:125          'gs_ua4' ( shared 4-component vector of uint)
    665 0:125          'gs_ub4' ( shared 4-component vector of uint)
    666 0:128      Branch: Return with expression
    667 0:?         Constant:
    668 0:?           1.000000
    669 0:?           2.000000
    670 0:?           3.000000
    671 0:?           4.000000
    672 0:105  Function Definition: ComputeShaderFunction( ( temp void)
    673 0:105    Function Parameters: 
    674 0:?     Sequence
    675 0:105      move second child to first child ( temp 4-component vector of float)
    676 0:?         'inF0' ( temp 4-component vector of float)
    677 0:?         'inF0' (layout( location=0) in 4-component vector of float)
    678 0:105      move second child to first child ( temp 4-component vector of float)
    679 0:?         'inF1' ( temp 4-component vector of float)
    680 0:?         'inF1' (layout( location=1) in 4-component vector of float)
    681 0:105      move second child to first child ( temp 4-component vector of float)
    682 0:?         'inF2' ( temp 4-component vector of float)
    683 0:?         'inF2' (layout( location=2) in 4-component vector of float)
    684 0:105      move second child to first child ( temp 4-component vector of uint)
    685 0:?         'inU0' ( temp 4-component vector of uint)
    686 0:?         'inU0' (layout( location=3) in 4-component vector of uint)
    687 0:105      move second child to first child ( temp 4-component vector of uint)
    688 0:?         'inU1' ( temp 4-component vector of uint)
    689 0:?         'inU1' (layout( location=4) in 4-component vector of uint)
    690 0:105      move second child to first child ( temp 4-component vector of float)
    691 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    692 0:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
    693 0:?           'inF0' ( temp 4-component vector of float)
    694 0:?           'inF1' ( temp 4-component vector of float)
    695 0:?           'inF2' ( temp 4-component vector of float)
    696 0:?           'inU0' ( temp 4-component vector of uint)
    697 0:?           'inU1' ( temp 4-component vector of uint)
    698 0:?   Linker Objects
    699 0:?     'gs_ua' ( shared uint)
    700 0:?     'gs_ub' ( shared uint)
    701 0:?     'gs_uc' ( shared uint)
    702 0:?     'gs_ua2' ( shared 2-component vector of uint)
    703 0:?     'gs_ub2' ( shared 2-component vector of uint)
    704 0:?     'gs_uc2' ( shared 2-component vector of uint)
    705 0:?     'gs_ua3' ( shared 3-component vector of uint)
    706 0:?     'gs_ub3' ( shared 3-component vector of uint)
    707 0:?     'gs_uc3' ( shared 3-component vector of uint)
    708 0:?     'gs_ua4' ( shared 4-component vector of uint)
    709 0:?     'gs_ub4' ( shared 4-component vector of uint)
    710 0:?     'gs_uc4' ( shared 4-component vector of uint)
    711 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
    712 0:?     'inF0' (layout( location=0) in 4-component vector of float)
    713 0:?     'inF1' (layout( location=1) in 4-component vector of float)
    714 0:?     'inF2' (layout( location=2) in 4-component vector of float)
    715 0:?     'inU0' (layout( location=3) in 4-component vector of uint)
    716 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
    717 
    718 Validation failed
    719 // Module Version 10000
    720 // Generated by (magic number): 80007
    721 // Id's are bound by 265
    722 
    723                               Capability Shader
    724                1:             ExtInstImport  "GLSL.std.450"
    725                               MemoryModel Logical GLSL450
    726                               EntryPoint GLCompute 4  "ComputeShaderFunction" 237 240 243 247 250 253
    727                               ExecutionMode 4 LocalSize 1 1 1
    728                               Source HLSL 500
    729                               Name 4  "ComputeShaderFunction"
    730                               Name 16  "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
    731                               Name 11  "inF0"
    732                               Name 12  "inF1"
    733                               Name 13  "inF2"
    734                               Name 14  "inU0"
    735                               Name 15  "inU1"
    736                               Name 22  "ComputeShaderFunction1(vf1;vf1;vf1;"
    737                               Name 19  "inF0"
    738                               Name 20  "inF1"
    739                               Name 21  "inF2"
    740                               Name 34  "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
    741                               Name 29  "inF0"
    742                               Name 30  "inF1"
    743                               Name 31  "inF2"
    744                               Name 32  "inU0"
    745                               Name 33  "inU1"
    746                               Name 46  "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
    747                               Name 41  "inF0"
    748                               Name 42  "inF1"
    749                               Name 43  "inF2"
    750                               Name 44  "inU0"
    751                               Name 45  "inU1"
    752                               Name 58  "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
    753                               Name 53  "inF0"
    754                               Name 54  "inF1"
    755                               Name 55  "inF2"
    756                               Name 56  "inU0"
    757                               Name 57  "inU1"
    758                               Name 66  "gs_ua"
    759                               Name 67  "gs_ub"
    760                               Name 72  "out_u1"
    761                               Name 80  "gs_uc"
    762                               Name 111  "gs_ua2"
    763                               Name 112  "gs_ub2"
    764                               Name 115  "out_u2"
    765                               Name 123  "gs_uc2"
    766                               Name 155  "gs_ua3"
    767                               Name 156  "gs_ub3"
    768                               Name 159  "out_u3"
    769                               Name 167  "gs_uc3"
    770                               Name 198  "gs_ua4"
    771                               Name 199  "gs_ub4"
    772                               Name 202  "out_u4"
    773                               Name 210  "gs_uc4"
    774                               Name 235  "inF0"
    775                               Name 237  "inF0"
    776                               Name 239  "inF1"
    777                               Name 240  "inF1"
    778                               Name 242  "inF2"
    779                               Name 243  "inF2"
    780                               Name 245  "inU0"
    781                               Name 247  "inU0"
    782                               Name 249  "inU1"
    783                               Name 250  "inU1"
    784                               Name 253  "@entryPointOutput"
    785                               Name 254  "param"
    786                               Name 256  "param"
    787                               Name 258  "param"
    788                               Name 260  "param"
    789                               Name 262  "param"
    790                               Decorate 237(inF0) Location 0
    791                               Decorate 240(inF1) Location 1
    792                               Decorate 243(inF2) Location 2
    793                               Decorate 247(inU0) Location 3
    794                               Decorate 250(inU1) Location 4
    795                               Decorate 253(@entryPointOutput) Location 0
    796                2:             TypeVoid
    797                3:             TypeFunction 2
    798                6:             TypeFloat 32
    799                7:             TypePointer Function 6(float)
    800                8:             TypeInt 32 0
    801                9:             TypePointer Function 8(int)
    802               10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
    803               18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
    804               24:             TypeVector 6(float) 2
    805               25:             TypePointer Function 24(fvec2)
    806               26:             TypeVector 8(int) 2
    807               27:             TypePointer Function 26(ivec2)
    808               28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
    809               36:             TypeVector 6(float) 3
    810               37:             TypePointer Function 36(fvec3)
    811               38:             TypeVector 8(int) 3
    812               39:             TypePointer Function 38(ivec3)
    813               40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
    814               48:             TypeVector 6(float) 4
    815               49:             TypePointer Function 48(fvec4)
    816               50:             TypeVector 8(int) 4
    817               51:             TypePointer Function 50(ivec4)
    818               52:             TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
    819               61:             TypeBool
    820               62:    6(float) Constant 0
    821               65:             TypePointer Workgroup 8(int)
    822        66(gs_ua):     65(ptr) Variable Workgroup
    823        67(gs_ub):     65(ptr) Variable Workgroup
    824               69:      8(int) Constant 1
    825               70:      8(int) Constant 0
    826        80(gs_uc):     65(ptr) Variable Workgroup
    827              106:             TypeVector 61(bool) 2
    828              107:   24(fvec2) ConstantComposite 62 62
    829              110:             TypePointer Workgroup 26(ivec2)
    830      111(gs_ua2):    110(ptr) Variable Workgroup
    831      112(gs_ub2):    110(ptr) Variable Workgroup
    832      123(gs_uc2):    110(ptr) Variable Workgroup
    833              144:    6(float) Constant 1065353216
    834              145:    6(float) Constant 1073741824
    835              146:   24(fvec2) ConstantComposite 144 145
    836              150:             TypeVector 61(bool) 3
    837              151:   36(fvec3) ConstantComposite 62 62 62
    838              154:             TypePointer Workgroup 38(ivec3)
    839      155(gs_ua3):    154(ptr) Variable Workgroup
    840      156(gs_ub3):    154(ptr) Variable Workgroup
    841      167(gs_uc3):    154(ptr) Variable Workgroup
    842              188:    6(float) Constant 1077936128
    843              189:   36(fvec3) ConstantComposite 144 145 188
    844              193:             TypeVector 61(bool) 4
    845              194:   48(fvec4) ConstantComposite 62 62 62 62
    846              197:             TypePointer Workgroup 50(ivec4)
    847      198(gs_ua4):    197(ptr) Variable Workgroup
    848      199(gs_ub4):    197(ptr) Variable Workgroup
    849      210(gs_uc4):    197(ptr) Variable Workgroup
    850              231:    6(float) Constant 1082130432
    851              232:   48(fvec4) ConstantComposite 144 145 188 231
    852              236:             TypePointer Input 48(fvec4)
    853        237(inF0):    236(ptr) Variable Input
    854        240(inF1):    236(ptr) Variable Input
    855        243(inF2):    236(ptr) Variable Input
    856              246:             TypePointer Input 50(ivec4)
    857        247(inU0):    246(ptr) Variable Input
    858        250(inU1):    246(ptr) Variable Input
    859              252:             TypePointer Output 48(fvec4)
    860 253(@entryPointOutput):    252(ptr) Variable Output
    861 4(ComputeShaderFunction):           2 Function None 3
    862                5:             Label
    863        235(inF0):     49(ptr) Variable Function
    864        239(inF1):     49(ptr) Variable Function
    865        242(inF2):     49(ptr) Variable Function
    866        245(inU0):     51(ptr) Variable Function
    867        249(inU1):     51(ptr) Variable Function
    868       254(param):     49(ptr) Variable Function
    869       256(param):     49(ptr) Variable Function
    870       258(param):     49(ptr) Variable Function
    871       260(param):     51(ptr) Variable Function
    872       262(param):     51(ptr) Variable Function
    873              238:   48(fvec4) Load 237(inF0)
    874                               Store 235(inF0) 238
    875              241:   48(fvec4) Load 240(inF1)
    876                               Store 239(inF1) 241
    877              244:   48(fvec4) Load 243(inF2)
    878                               Store 242(inF2) 244
    879              248:   50(ivec4) Load 247(inU0)
    880                               Store 245(inU0) 248
    881              251:   50(ivec4) Load 250(inU1)
    882                               Store 249(inU1) 251
    883              255:   48(fvec4) Load 235(inF0)
    884                               Store 254(param) 255
    885              257:   48(fvec4) Load 239(inF1)
    886                               Store 256(param) 257
    887              259:   48(fvec4) Load 242(inF2)
    888                               Store 258(param) 259
    889              261:   50(ivec4) Load 245(inU0)
    890                               Store 260(param) 261
    891              263:   50(ivec4) Load 249(inU1)
    892                               Store 262(param) 263
    893              264:   48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 254(param) 256(param) 258(param) 260(param) 262(param)
    894                               Store 253(@entryPointOutput) 264
    895                               Return
    896                               FunctionEnd
    897 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
    898         11(inF0):      7(ptr) FunctionParameter
    899         12(inF1):      7(ptr) FunctionParameter
    900         13(inF2):      7(ptr) FunctionParameter
    901         14(inU0):      9(ptr) FunctionParameter
    902         15(inU1):      9(ptr) FunctionParameter
    903               17:             Label
    904       72(out_u1):      9(ptr) Variable Function
    905               60:    6(float) Load 11(inF0)
    906               63:    61(bool) FOrdNotEqual 60 62
    907               64:    61(bool) All 63
    908               68:      8(int) Load 67(gs_ub)
    909               71:      8(int) AtomicIAdd 66(gs_ua) 69 70 68
    910               73:      8(int) Load 67(gs_ub)
    911               74:      8(int) AtomicIAdd 66(gs_ua) 69 70 73
    912                               Store 72(out_u1) 74
    913               75:      8(int) Load 67(gs_ub)
    914               76:      8(int) AtomicAnd 66(gs_ua) 69 70 75
    915               77:      8(int) Load 67(gs_ub)
    916               78:      8(int) AtomicAnd 66(gs_ua) 69 70 77
    917                               Store 72(out_u1) 78
    918               79:      8(int) Load 67(gs_ub)
    919               81:      8(int) Load 80(gs_uc)
    920               82:      8(int) AtomicCompareExchange 66(gs_ua) 69 70 70 81 79
    921                               Store 72(out_u1) 82
    922               83:      8(int) Load 67(gs_ub)
    923               84:      8(int) AtomicExchange 66(gs_ua) 69 70 83
    924                               Store 72(out_u1) 84
    925               85:      8(int) Load 67(gs_ub)
    926               86:      8(int) AtomicUMax 66(gs_ua) 69 70 85
    927               87:      8(int) Load 67(gs_ub)
    928               88:      8(int) AtomicUMax 66(gs_ua) 69 70 87
    929                               Store 72(out_u1) 88
    930               89:      8(int) Load 67(gs_ub)
    931               90:      8(int) AtomicUMin 66(gs_ua) 69 70 89
    932               91:      8(int) Load 67(gs_ub)
    933               92:      8(int) AtomicUMin 66(gs_ua) 69 70 91
    934                               Store 72(out_u1) 92
    935               93:      8(int) Load 67(gs_ub)
    936               94:      8(int) AtomicOr 66(gs_ua) 69 70 93
    937               95:      8(int) Load 67(gs_ub)
    938               96:      8(int) AtomicOr 66(gs_ua) 69 70 95
    939                               Store 72(out_u1) 96
    940               97:      8(int) Load 67(gs_ub)
    941               98:      8(int) AtomicXor 66(gs_ua) 69 70 97
    942               99:      8(int) Load 67(gs_ub)
    943              100:      8(int) AtomicXor 66(gs_ua) 69 70 99
    944                               Store 72(out_u1) 100
    945                               ReturnValue 62
    946                               FunctionEnd
    947 22(ComputeShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
    948         19(inF0):      7(ptr) FunctionParameter
    949         20(inF1):      7(ptr) FunctionParameter
    950         21(inF2):      7(ptr) FunctionParameter
    951               23:             Label
    952                               ReturnValue 62
    953                               FunctionEnd
    954 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
    955         29(inF0):     25(ptr) FunctionParameter
    956         30(inF1):     25(ptr) FunctionParameter
    957         31(inF2):     25(ptr) FunctionParameter
    958         32(inU0):     27(ptr) FunctionParameter
    959         33(inU1):     27(ptr) FunctionParameter
    960               35:             Label
    961      115(out_u2):     27(ptr) Variable Function
    962              105:   24(fvec2) Load 29(inF0)
    963              108:  106(bvec2) FOrdNotEqual 105 107
    964              109:    61(bool) All 108
    965              113:   26(ivec2) Load 112(gs_ub2)
    966              114:   26(ivec2) AtomicIAdd 111(gs_ua2) 69 70 113
    967              116:   26(ivec2) Load 112(gs_ub2)
    968              117:   26(ivec2) AtomicIAdd 111(gs_ua2) 69 70 116
    969                               Store 115(out_u2) 117
    970              118:   26(ivec2) Load 112(gs_ub2)
    971              119:   26(ivec2) AtomicAnd 111(gs_ua2) 69 70 118
    972              120:   26(ivec2) Load 112(gs_ub2)
    973              121:   26(ivec2) AtomicAnd 111(gs_ua2) 69 70 120
    974                               Store 115(out_u2) 121
    975              122:   26(ivec2) Load 112(gs_ub2)
    976              124:   26(ivec2) Load 123(gs_uc2)
    977              125:   26(ivec2) AtomicCompareExchange 111(gs_ua2) 69 70 70 124 122
    978                               Store 115(out_u2) 125
    979              126:   26(ivec2) Load 112(gs_ub2)
    980              127:   26(ivec2) AtomicExchange 111(gs_ua2) 69 70 126
    981                               Store 115(out_u2) 127
    982              128:   26(ivec2) Load 112(gs_ub2)
    983              129:   26(ivec2) AtomicUMax 111(gs_ua2) 69 70 128
    984              130:   26(ivec2) Load 112(gs_ub2)
    985              131:   26(ivec2) AtomicUMax 111(gs_ua2) 69 70 130
    986                               Store 115(out_u2) 131
    987              132:   26(ivec2) Load 112(gs_ub2)
    988              133:   26(ivec2) AtomicUMin 111(gs_ua2) 69 70 132
    989              134:   26(ivec2) Load 112(gs_ub2)
    990              135:   26(ivec2) AtomicUMin 111(gs_ua2) 69 70 134
    991                               Store 115(out_u2) 135
    992              136:   26(ivec2) Load 112(gs_ub2)
    993              137:   26(ivec2) AtomicOr 111(gs_ua2) 69 70 136
    994              138:   26(ivec2) Load 112(gs_ub2)
    995              139:   26(ivec2) AtomicOr 111(gs_ua2) 69 70 138
    996                               Store 115(out_u2) 139
    997              140:   26(ivec2) Load 112(gs_ub2)
    998              141:   26(ivec2) AtomicXor 111(gs_ua2) 69 70 140
    999              142:   26(ivec2) Load 112(gs_ub2)
   1000              143:   26(ivec2) AtomicXor 111(gs_ua2) 69 70 142
   1001                               Store 115(out_u2) 143
   1002                               ReturnValue 146
   1003                               FunctionEnd
   1004 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
   1005         41(inF0):     37(ptr) FunctionParameter
   1006         42(inF1):     37(ptr) FunctionParameter
   1007         43(inF2):     37(ptr) FunctionParameter
   1008         44(inU0):     39(ptr) FunctionParameter
   1009         45(inU1):     39(ptr) FunctionParameter
   1010               47:             Label
   1011      159(out_u3):     39(ptr) Variable Function
   1012              149:   36(fvec3) Load 41(inF0)
   1013              152:  150(bvec3) FOrdNotEqual 149 151
   1014              153:    61(bool) All 152
   1015              157:   38(ivec3) Load 156(gs_ub3)
   1016              158:   38(ivec3) AtomicIAdd 155(gs_ua3) 69 70 157
   1017              160:   38(ivec3) Load 156(gs_ub3)
   1018              161:   38(ivec3) AtomicIAdd 155(gs_ua3) 69 70 160
   1019                               Store 159(out_u3) 161
   1020              162:   38(ivec3) Load 156(gs_ub3)
   1021              163:   38(ivec3) AtomicAnd 155(gs_ua3) 69 70 162
   1022              164:   38(ivec3) Load 156(gs_ub3)
   1023              165:   38(ivec3) AtomicAnd 155(gs_ua3) 69 70 164
   1024                               Store 159(out_u3) 165
   1025              166:   38(ivec3) Load 156(gs_ub3)
   1026              168:   38(ivec3) Load 167(gs_uc3)
   1027              169:   38(ivec3) AtomicCompareExchange 155(gs_ua3) 69 70 70 168 166
   1028                               Store 159(out_u3) 169
   1029              170:   38(ivec3) Load 156(gs_ub3)
   1030              171:   38(ivec3) AtomicExchange 155(gs_ua3) 69 70 170
   1031                               Store 159(out_u3) 171
   1032              172:   38(ivec3) Load 156(gs_ub3)
   1033              173:   38(ivec3) AtomicUMax 155(gs_ua3) 69 70 172
   1034              174:   38(ivec3) Load 156(gs_ub3)
   1035              175:   38(ivec3) AtomicUMax 155(gs_ua3) 69 70 174
   1036                               Store 159(out_u3) 175
   1037              176:   38(ivec3) Load 156(gs_ub3)
   1038              177:   38(ivec3) AtomicUMin 155(gs_ua3) 69 70 176
   1039              178:   38(ivec3) Load 156(gs_ub3)
   1040              179:   38(ivec3) AtomicUMin 155(gs_ua3) 69 70 178
   1041                               Store 159(out_u3) 179
   1042              180:   38(ivec3) Load 156(gs_ub3)
   1043              181:   38(ivec3) AtomicOr 155(gs_ua3) 69 70 180
   1044              182:   38(ivec3) Load 156(gs_ub3)
   1045              183:   38(ivec3) AtomicOr 155(gs_ua3) 69 70 182
   1046                               Store 159(out_u3) 183
   1047              184:   38(ivec3) Load 156(gs_ub3)
   1048              185:   38(ivec3) AtomicXor 155(gs_ua3) 69 70 184
   1049              186:   38(ivec3) Load 156(gs_ub3)
   1050              187:   38(ivec3) AtomicXor 155(gs_ua3) 69 70 186
   1051                               Store 159(out_u3) 187
   1052                               ReturnValue 189
   1053                               FunctionEnd
   1054 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
   1055         53(inF0):     49(ptr) FunctionParameter
   1056         54(inF1):     49(ptr) FunctionParameter
   1057         55(inF2):     49(ptr) FunctionParameter
   1058         56(inU0):     51(ptr) FunctionParameter
   1059         57(inU1):     51(ptr) FunctionParameter
   1060               59:             Label
   1061      202(out_u4):     51(ptr) Variable Function
   1062              192:   48(fvec4) Load 53(inF0)
   1063              195:  193(bvec4) FOrdNotEqual 192 194
   1064              196:    61(bool) All 195
   1065              200:   50(ivec4) Load 199(gs_ub4)
   1066              201:   50(ivec4) AtomicIAdd 198(gs_ua4) 69 70 200
   1067              203:   50(ivec4) Load 199(gs_ub4)
   1068              204:   50(ivec4) AtomicIAdd 198(gs_ua4) 69 70 203
   1069                               Store 202(out_u4) 204
   1070              205:   50(ivec4) Load 199(gs_ub4)
   1071              206:   50(ivec4) AtomicAnd 198(gs_ua4) 69 70 205
   1072              207:   50(ivec4) Load 199(gs_ub4)
   1073              208:   50(ivec4) AtomicAnd 198(gs_ua4) 69 70 207
   1074                               Store 202(out_u4) 208
   1075              209:   50(ivec4) Load 199(gs_ub4)
   1076              211:   50(ivec4) Load 210(gs_uc4)
   1077              212:   50(ivec4) AtomicCompareExchange 198(gs_ua4) 69 70 70 211 209
   1078                               Store 202(out_u4) 212
   1079              213:   50(ivec4) Load 199(gs_ub4)
   1080              214:   50(ivec4) AtomicExchange 198(gs_ua4) 69 70 213
   1081                               Store 202(out_u4) 214
   1082              215:   50(ivec4) Load 199(gs_ub4)
   1083              216:   50(ivec4) AtomicUMax 198(gs_ua4) 69 70 215
   1084              217:   50(ivec4) Load 199(gs_ub4)
   1085              218:   50(ivec4) AtomicUMax 198(gs_ua4) 69 70 217
   1086                               Store 202(out_u4) 218
   1087              219:   50(ivec4) Load 199(gs_ub4)
   1088              220:   50(ivec4) AtomicUMin 198(gs_ua4) 69 70 219
   1089              221:   50(ivec4) Load 199(gs_ub4)
   1090              222:   50(ivec4) AtomicUMin 198(gs_ua4) 69 70 221
   1091                               Store 202(out_u4) 222
   1092              223:   50(ivec4) Load 199(gs_ub4)
   1093              224:   50(ivec4) AtomicOr 198(gs_ua4) 69 70 223
   1094              225:   50(ivec4) Load 199(gs_ub4)
   1095              226:   50(ivec4) AtomicOr 198(gs_ua4) 69 70 225
   1096                               Store 202(out_u4) 226
   1097              227:   50(ivec4) Load 199(gs_ub4)
   1098              228:   50(ivec4) AtomicXor 198(gs_ua4) 69 70 227
   1099              229:   50(ivec4) Load 199(gs_ub4)
   1100              230:   50(ivec4) AtomicXor 198(gs_ua4) 69 70 229
   1101                               Store 202(out_u4) 230
   1102                               ReturnValue 232
   1103                               FunctionEnd
   1104