• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.intrinsics.comp
2Shader version: 500
3local_size = (1, 1, 1)
40:? Sequence
50:19  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
60:19    Function Parameters:
70:19      'inF0' ( in float)
80:19      'inF1' ( in float)
90:19      'inF2' ( in float)
100:19      'inU0' ( in uint)
110:19      'inU1' ( in uint)
120:?     Sequence
130:23      all ( temp bool)
140:23        Convert float to bool ( temp bool)
150:23          'inF0' ( in float)
160:26      AtomicAdd ( temp uint)
170:26        'gs_ua' ( shared uint)
180:26        'gs_ub' ( shared uint)
190:27      move second child to first child ( temp uint)
200:27        'out_u1' ( temp uint)
210:27        AtomicAdd ( temp uint)
220:27          'gs_ua' ( shared uint)
230:27          'gs_ub' ( shared uint)
240:28      AtomicAnd ( temp uint)
250:28        'gs_ua' ( shared uint)
260:28        'gs_ub' ( shared uint)
270:29      move second child to first child ( temp uint)
280:29        'out_u1' ( temp uint)
290:29        AtomicAnd ( temp uint)
300:29          'gs_ua' ( shared uint)
310:29          'gs_ub' ( shared uint)
320:30      move second child to first child ( temp uint)
330:30        'out_u1' ( temp uint)
340:30        AtomicCompSwap ( temp uint)
350:30          'gs_ua' ( shared uint)
360:30          'gs_ub' ( shared uint)
370:30          'gs_uc' ( shared uint)
380:31      move second child to first child ( temp uint)
390:31        'out_u1' ( temp uint)
400:31        AtomicExchange ( temp uint)
410:31          'gs_ua' ( shared uint)
420:31          'gs_ub' ( shared uint)
430:32      AtomicMax ( temp uint)
440:32        'gs_ua' ( shared uint)
450:32        'gs_ub' ( shared uint)
460:33      move second child to first child ( temp uint)
470:33        'out_u1' ( temp uint)
480:33        AtomicMax ( temp uint)
490:33          'gs_ua' ( shared uint)
500:33          'gs_ub' ( shared uint)
510:34      AtomicMin ( temp uint)
520:34        'gs_ua' ( shared uint)
530:34        'gs_ub' ( shared uint)
540:35      move second child to first child ( temp uint)
550:35        'out_u1' ( temp uint)
560:35        AtomicMin ( temp uint)
570:35          'gs_ua' ( shared uint)
580:35          'gs_ub' ( shared uint)
590:36      AtomicOr ( temp uint)
600:36        'gs_ua' ( shared uint)
610:36        'gs_ub' ( shared uint)
620:37      move second child to first child ( temp uint)
630:37        'out_u1' ( temp uint)
640:37        AtomicOr ( temp uint)
650:37          'gs_ua' ( shared uint)
660:37          'gs_ub' ( shared uint)
670:38      AtomicXor ( temp uint)
680:38        'gs_ua' ( shared uint)
690:38        'gs_ub' ( shared uint)
700:39      move second child to first child ( temp uint)
710:39        'out_u1' ( temp uint)
720:39        AtomicXor ( temp uint)
730:39          'gs_ua' ( shared uint)
740:39          'gs_ub' ( shared uint)
750:41      AtomicAdd ( temp float)
760:41        'gs_fa' ( shared float)
770:41        'gs_fb' ( shared float)
780:45      Branch: Return with expression
790:45        Constant:
800:45          0.000000
810:49  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
820:49    Function Parameters:
830:49      'inF0' ( in 1-component vector of float)
840:49      'inF1' ( in 1-component vector of float)
850:49      'inF2' ( in 1-component vector of float)
860:?     Sequence
870:51      Branch: Return with expression
880:51        Constant:
890:51          0.000000
900:55  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
910:55    Function Parameters:
920:55      'inF0' ( in 2-component vector of float)
930:55      'inF1' ( in 2-component vector of float)
940:55      'inF2' ( in 2-component vector of float)
950:55      'inU0' ( in 2-component vector of uint)
960:55      'inU1' ( in 2-component vector of uint)
970:?     Sequence
980:59      all ( temp bool)
990:59        Convert float to bool ( temp 2-component vector of bool)
1000:59          'inF0' ( in 2-component vector of float)
1010:62      AtomicAdd ( temp 2-component vector of uint)
1020:62        'gs_ua2' ( shared 2-component vector of uint)
1030:62        'gs_ub2' ( shared 2-component vector of uint)
1040:63      move second child to first child ( temp 2-component vector of uint)
1050:63        'out_u2' ( temp 2-component vector of uint)
1060:63        AtomicAdd ( temp 2-component vector of uint)
1070:63          'gs_ua2' ( shared 2-component vector of uint)
1080:63          'gs_ub2' ( shared 2-component vector of uint)
1090:64      AtomicAnd ( temp 2-component vector of uint)
1100:64        'gs_ua2' ( shared 2-component vector of uint)
1110:64        'gs_ub2' ( shared 2-component vector of uint)
1120:65      move second child to first child ( temp 2-component vector of uint)
1130:65        'out_u2' ( temp 2-component vector of uint)
1140:65        AtomicAnd ( temp 2-component vector of uint)
1150:65          'gs_ua2' ( shared 2-component vector of uint)
1160:65          'gs_ub2' ( shared 2-component vector of uint)
1170:66      move second child to first child ( temp 2-component vector of uint)
1180:66        'out_u2' ( temp 2-component vector of uint)
1190:66        AtomicCompSwap ( temp 2-component vector of uint)
1200:66          'gs_ua2' ( shared 2-component vector of uint)
1210:66          'gs_ub2' ( shared 2-component vector of uint)
1220:66          'gs_uc2' ( shared 2-component vector of uint)
1230:67      move second child to first child ( temp 2-component vector of uint)
1240:67        'out_u2' ( temp 2-component vector of uint)
1250:67        AtomicExchange ( temp 2-component vector of uint)
1260:67          'gs_ua2' ( shared 2-component vector of uint)
1270:67          'gs_ub2' ( shared 2-component vector of uint)
1280:68      AtomicMax ( temp 2-component vector of uint)
1290:68        'gs_ua2' ( shared 2-component vector of uint)
1300:68        'gs_ub2' ( shared 2-component vector of uint)
1310:69      move second child to first child ( temp 2-component vector of uint)
1320:69        'out_u2' ( temp 2-component vector of uint)
1330:69        AtomicMax ( temp 2-component vector of uint)
1340:69          'gs_ua2' ( shared 2-component vector of uint)
1350:69          'gs_ub2' ( shared 2-component vector of uint)
1360:70      AtomicMin ( temp 2-component vector of uint)
1370:70        'gs_ua2' ( shared 2-component vector of uint)
1380:70        'gs_ub2' ( shared 2-component vector of uint)
1390:71      move second child to first child ( temp 2-component vector of uint)
1400:71        'out_u2' ( temp 2-component vector of uint)
1410:71        AtomicMin ( temp 2-component vector of uint)
1420:71          'gs_ua2' ( shared 2-component vector of uint)
1430:71          'gs_ub2' ( shared 2-component vector of uint)
1440:72      AtomicOr ( temp 2-component vector of uint)
1450:72        'gs_ua2' ( shared 2-component vector of uint)
1460:72        'gs_ub2' ( shared 2-component vector of uint)
1470:73      move second child to first child ( temp 2-component vector of uint)
1480:73        'out_u2' ( temp 2-component vector of uint)
1490:73        AtomicOr ( temp 2-component vector of uint)
1500:73          'gs_ua2' ( shared 2-component vector of uint)
1510:73          'gs_ub2' ( shared 2-component vector of uint)
1520:74      AtomicXor ( temp 2-component vector of uint)
1530:74        'gs_ua2' ( shared 2-component vector of uint)
1540:74        'gs_ub2' ( shared 2-component vector of uint)
1550:75      move second child to first child ( temp 2-component vector of uint)
1560:75        'out_u2' ( temp 2-component vector of uint)
1570:75        AtomicXor ( temp 2-component vector of uint)
1580:75          'gs_ua2' ( shared 2-component vector of uint)
1590:75          'gs_ub2' ( shared 2-component vector of uint)
1600:78      Branch: Return with expression
1610:78        Constant:
1620:78          1.000000
1630:78          2.000000
1640:82  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
1650:82    Function Parameters:
1660:82      'inF0' ( in 3-component vector of float)
1670:82      'inF1' ( in 3-component vector of float)
1680:82      'inF2' ( in 3-component vector of float)
1690:82      'inU0' ( in 3-component vector of uint)
1700:82      'inU1' ( in 3-component vector of uint)
1710:?     Sequence
1720:86      all ( temp bool)
1730:86        Convert float to bool ( temp 3-component vector of bool)
1740:86          'inF0' ( in 3-component vector of float)
1750:89      AtomicAdd ( temp 3-component vector of uint)
1760:89        'gs_ua3' ( shared 3-component vector of uint)
1770:89        'gs_ub3' ( shared 3-component vector of uint)
1780:90      move second child to first child ( temp 3-component vector of uint)
1790:90        'out_u3' ( temp 3-component vector of uint)
1800:90        AtomicAdd ( temp 3-component vector of uint)
1810:90          'gs_ua3' ( shared 3-component vector of uint)
1820:90          'gs_ub3' ( shared 3-component vector of uint)
1830:91      AtomicAnd ( temp 3-component vector of uint)
1840:91        'gs_ua3' ( shared 3-component vector of uint)
1850:91        'gs_ub3' ( shared 3-component vector of uint)
1860:92      move second child to first child ( temp 3-component vector of uint)
1870:92        'out_u3' ( temp 3-component vector of uint)
1880:92        AtomicAnd ( temp 3-component vector of uint)
1890:92          'gs_ua3' ( shared 3-component vector of uint)
1900:92          'gs_ub3' ( shared 3-component vector of uint)
1910:93      move second child to first child ( temp 3-component vector of uint)
1920:93        'out_u3' ( temp 3-component vector of uint)
1930:93        AtomicCompSwap ( temp 3-component vector of uint)
1940:93          'gs_ua3' ( shared 3-component vector of uint)
1950:93          'gs_ub3' ( shared 3-component vector of uint)
1960:93          'gs_uc3' ( shared 3-component vector of uint)
1970:94      move second child to first child ( temp 3-component vector of uint)
1980:94        'out_u3' ( temp 3-component vector of uint)
1990:94        AtomicExchange ( temp 3-component vector of uint)
2000:94          'gs_ua3' ( shared 3-component vector of uint)
2010:94          'gs_ub3' ( shared 3-component vector of uint)
2020:95      AtomicMax ( temp 3-component vector of uint)
2030:95        'gs_ua3' ( shared 3-component vector of uint)
2040:95        'gs_ub3' ( shared 3-component vector of uint)
2050:96      move second child to first child ( temp 3-component vector of uint)
2060:96        'out_u3' ( temp 3-component vector of uint)
2070:96        AtomicMax ( temp 3-component vector of uint)
2080:96          'gs_ua3' ( shared 3-component vector of uint)
2090:96          'gs_ub3' ( shared 3-component vector of uint)
2100:97      AtomicMin ( temp 3-component vector of uint)
2110:97        'gs_ua3' ( shared 3-component vector of uint)
2120:97        'gs_ub3' ( shared 3-component vector of uint)
2130:98      move second child to first child ( temp 3-component vector of uint)
2140:98        'out_u3' ( temp 3-component vector of uint)
2150:98        AtomicMin ( temp 3-component vector of uint)
2160:98          'gs_ua3' ( shared 3-component vector of uint)
2170:98          'gs_ub3' ( shared 3-component vector of uint)
2180:99      AtomicOr ( temp 3-component vector of uint)
2190:99        'gs_ua3' ( shared 3-component vector of uint)
2200:99        'gs_ub3' ( shared 3-component vector of uint)
2210:100      move second child to first child ( temp 3-component vector of uint)
2220:100        'out_u3' ( temp 3-component vector of uint)
2230:100        AtomicOr ( temp 3-component vector of uint)
2240:100          'gs_ua3' ( shared 3-component vector of uint)
2250:100          'gs_ub3' ( shared 3-component vector of uint)
2260:101      AtomicXor ( temp 3-component vector of uint)
2270:101        'gs_ua3' ( shared 3-component vector of uint)
2280:101        'gs_ub3' ( shared 3-component vector of uint)
2290:102      move second child to first child ( temp 3-component vector of uint)
2300:102        'out_u3' ( temp 3-component vector of uint)
2310:102        AtomicXor ( temp 3-component vector of uint)
2320:102          'gs_ua3' ( shared 3-component vector of uint)
2330:102          'gs_ub3' ( shared 3-component vector of uint)
2340:105      Branch: Return with expression
2350:105        Constant:
2360:105          1.000000
2370:105          2.000000
2380:105          3.000000
2390:109  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
2400:109    Function Parameters:
2410:109      'inF0' ( in 4-component vector of float)
2420:109      'inF1' ( in 4-component vector of float)
2430:109      'inF2' ( in 4-component vector of float)
2440:109      'inU0' ( in 4-component vector of uint)
2450:109      'inU1' ( in 4-component vector of uint)
2460:?     Sequence
2470:113      all ( temp bool)
2480:113        Convert float to bool ( temp 4-component vector of bool)
2490:113          'inF0' ( in 4-component vector of float)
2500:116      AtomicAdd ( temp 4-component vector of uint)
2510:116        'gs_ua4' ( shared 4-component vector of uint)
2520:116        'gs_ub4' ( shared 4-component vector of uint)
2530:117      move second child to first child ( temp 4-component vector of uint)
2540:117        'out_u4' ( temp 4-component vector of uint)
2550:117        AtomicAdd ( temp 4-component vector of uint)
2560:117          'gs_ua4' ( shared 4-component vector of uint)
2570:117          'gs_ub4' ( shared 4-component vector of uint)
2580:118      AtomicAnd ( temp 4-component vector of uint)
2590:118        'gs_ua4' ( shared 4-component vector of uint)
2600:118        'gs_ub4' ( shared 4-component vector of uint)
2610:119      move second child to first child ( temp 4-component vector of uint)
2620:119        'out_u4' ( temp 4-component vector of uint)
2630:119        AtomicAnd ( temp 4-component vector of uint)
2640:119          'gs_ua4' ( shared 4-component vector of uint)
2650:119          'gs_ub4' ( shared 4-component vector of uint)
2660:120      move second child to first child ( temp 4-component vector of uint)
2670:120        'out_u4' ( temp 4-component vector of uint)
2680:120        AtomicCompSwap ( temp 4-component vector of uint)
2690:120          'gs_ua4' ( shared 4-component vector of uint)
2700:120          'gs_ub4' ( shared 4-component vector of uint)
2710:120          'gs_uc4' ( shared 4-component vector of uint)
2720:121      move second child to first child ( temp 4-component vector of uint)
2730:121        'out_u4' ( temp 4-component vector of uint)
2740:121        AtomicExchange ( temp 4-component vector of uint)
2750:121          'gs_ua4' ( shared 4-component vector of uint)
2760:121          'gs_ub4' ( shared 4-component vector of uint)
2770:122      AtomicMax ( temp 4-component vector of uint)
2780:122        'gs_ua4' ( shared 4-component vector of uint)
2790:122        'gs_ub4' ( shared 4-component vector of uint)
2800:123      move second child to first child ( temp 4-component vector of uint)
2810:123        'out_u4' ( temp 4-component vector of uint)
2820:123        AtomicMax ( temp 4-component vector of uint)
2830:123          'gs_ua4' ( shared 4-component vector of uint)
2840:123          'gs_ub4' ( shared 4-component vector of uint)
2850:124      AtomicMin ( temp 4-component vector of uint)
2860:124        'gs_ua4' ( shared 4-component vector of uint)
2870:124        'gs_ub4' ( shared 4-component vector of uint)
2880:125      move second child to first child ( temp 4-component vector of uint)
2890:125        'out_u4' ( temp 4-component vector of uint)
2900:125        AtomicMin ( temp 4-component vector of uint)
2910:125          'gs_ua4' ( shared 4-component vector of uint)
2920:125          'gs_ub4' ( shared 4-component vector of uint)
2930:126      AtomicOr ( temp 4-component vector of uint)
2940:126        'gs_ua4' ( shared 4-component vector of uint)
2950:126        'gs_ub4' ( shared 4-component vector of uint)
2960:127      move second child to first child ( temp 4-component vector of uint)
2970:127        'out_u4' ( temp 4-component vector of uint)
2980:127        AtomicOr ( temp 4-component vector of uint)
2990:127          'gs_ua4' ( shared 4-component vector of uint)
3000:127          'gs_ub4' ( shared 4-component vector of uint)
3010:128      AtomicXor ( temp 4-component vector of uint)
3020:128        'gs_ua4' ( shared 4-component vector of uint)
3030:128        'gs_ub4' ( shared 4-component vector of uint)
3040:129      move second child to first child ( temp 4-component vector of uint)
3050:129        'out_u4' ( temp 4-component vector of uint)
3060:129        AtomicXor ( temp 4-component vector of uint)
3070:129          'gs_ua4' ( shared 4-component vector of uint)
3080:129          'gs_ub4' ( shared 4-component vector of uint)
3090:132      Branch: Return with expression
3100:132        Constant:
3110:132          1.000000
3120:132          2.000000
3130:132          3.000000
3140:132          4.000000
3150:109  Function Definition: ComputeShaderFunction( ( temp void)
3160:109    Function Parameters:
3170:?     Sequence
3180:109      move second child to first child ( temp 4-component vector of float)
3190:?         'inF0' ( temp 4-component vector of float)
3200:?         'inF0' (layout( location=0) in 4-component vector of float)
3210:109      move second child to first child ( temp 4-component vector of float)
3220:?         'inF1' ( temp 4-component vector of float)
3230:?         'inF1' (layout( location=1) in 4-component vector of float)
3240:109      move second child to first child ( temp 4-component vector of float)
3250:?         'inF2' ( temp 4-component vector of float)
3260:?         'inF2' (layout( location=2) in 4-component vector of float)
3270:109      move second child to first child ( temp 4-component vector of uint)
3280:?         'inU0' ( temp 4-component vector of uint)
3290:?         'inU0' (layout( location=3) in 4-component vector of uint)
3300:109      move second child to first child ( temp 4-component vector of uint)
3310:?         'inU1' ( temp 4-component vector of uint)
3320:?         'inU1' (layout( location=4) in 4-component vector of uint)
3330:109      move second child to first child ( temp 4-component vector of float)
3340:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3350:109        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
3360:?           'inF0' ( temp 4-component vector of float)
3370:?           'inF1' ( temp 4-component vector of float)
3380:?           'inF2' ( temp 4-component vector of float)
3390:?           'inU0' ( temp 4-component vector of uint)
3400:?           'inU1' ( temp 4-component vector of uint)
3410:?   Linker Objects
3420:?     'gs_ua' ( shared uint)
3430:?     'gs_ub' ( shared uint)
3440:?     'gs_uc' ( shared uint)
3450:?     'gs_ua2' ( shared 2-component vector of uint)
3460:?     'gs_ub2' ( shared 2-component vector of uint)
3470:?     'gs_uc2' ( shared 2-component vector of uint)
3480:?     'gs_ua3' ( shared 3-component vector of uint)
3490:?     'gs_ub3' ( shared 3-component vector of uint)
3500:?     'gs_uc3' ( shared 3-component vector of uint)
3510:?     'gs_ua4' ( shared 4-component vector of uint)
3520:?     'gs_ub4' ( shared 4-component vector of uint)
3530:?     'gs_uc4' ( shared 4-component vector of uint)
3540:?     'gs_fa' ( shared float)
3550:?     'gs_fb' ( shared float)
3560:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3570:?     'inF0' (layout( location=0) in 4-component vector of float)
3580:?     'inF1' (layout( location=1) in 4-component vector of float)
3590:?     'inF2' (layout( location=2) in 4-component vector of float)
3600:?     'inU0' (layout( location=3) in 4-component vector of uint)
3610:?     'inU1' (layout( location=4) in 4-component vector of uint)
362
363
364Linked compute stage:
365
366
367Shader version: 500
368local_size = (1, 1, 1)
3690:? Sequence
3700:19  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
3710:19    Function Parameters:
3720:19      'inF0' ( in float)
3730:19      'inF1' ( in float)
3740:19      'inF2' ( in float)
3750:19      'inU0' ( in uint)
3760:19      'inU1' ( in uint)
3770:?     Sequence
3780:23      all ( temp bool)
3790:23        Convert float to bool ( temp bool)
3800:23          'inF0' ( in float)
3810:26      AtomicAdd ( temp uint)
3820:26        'gs_ua' ( shared uint)
3830:26        'gs_ub' ( shared uint)
3840:27      move second child to first child ( temp uint)
3850:27        'out_u1' ( temp uint)
3860:27        AtomicAdd ( temp uint)
3870:27          'gs_ua' ( shared uint)
3880:27          'gs_ub' ( shared uint)
3890:28      AtomicAnd ( temp uint)
3900:28        'gs_ua' ( shared uint)
3910:28        'gs_ub' ( shared uint)
3920:29      move second child to first child ( temp uint)
3930:29        'out_u1' ( temp uint)
3940:29        AtomicAnd ( temp uint)
3950:29          'gs_ua' ( shared uint)
3960:29          'gs_ub' ( shared uint)
3970:30      move second child to first child ( temp uint)
3980:30        'out_u1' ( temp uint)
3990:30        AtomicCompSwap ( temp uint)
4000:30          'gs_ua' ( shared uint)
4010:30          'gs_ub' ( shared uint)
4020:30          'gs_uc' ( shared uint)
4030:31      move second child to first child ( temp uint)
4040:31        'out_u1' ( temp uint)
4050:31        AtomicExchange ( temp uint)
4060:31          'gs_ua' ( shared uint)
4070:31          'gs_ub' ( shared uint)
4080:32      AtomicMax ( temp uint)
4090:32        'gs_ua' ( shared uint)
4100:32        'gs_ub' ( shared uint)
4110:33      move second child to first child ( temp uint)
4120:33        'out_u1' ( temp uint)
4130:33        AtomicMax ( temp uint)
4140:33          'gs_ua' ( shared uint)
4150:33          'gs_ub' ( shared uint)
4160:34      AtomicMin ( temp uint)
4170:34        'gs_ua' ( shared uint)
4180:34        'gs_ub' ( shared uint)
4190:35      move second child to first child ( temp uint)
4200:35        'out_u1' ( temp uint)
4210:35        AtomicMin ( temp uint)
4220:35          'gs_ua' ( shared uint)
4230:35          'gs_ub' ( shared uint)
4240:36      AtomicOr ( temp uint)
4250:36        'gs_ua' ( shared uint)
4260:36        'gs_ub' ( shared uint)
4270:37      move second child to first child ( temp uint)
4280:37        'out_u1' ( temp uint)
4290:37        AtomicOr ( temp uint)
4300:37          'gs_ua' ( shared uint)
4310:37          'gs_ub' ( shared uint)
4320:38      AtomicXor ( temp uint)
4330:38        'gs_ua' ( shared uint)
4340:38        'gs_ub' ( shared uint)
4350:39      move second child to first child ( temp uint)
4360:39        'out_u1' ( temp uint)
4370:39        AtomicXor ( temp uint)
4380:39          'gs_ua' ( shared uint)
4390:39          'gs_ub' ( shared uint)
4400:41      AtomicAdd ( temp float)
4410:41        'gs_fa' ( shared float)
4420:41        'gs_fb' ( shared float)
4430:45      Branch: Return with expression
4440:45        Constant:
4450:45          0.000000
4460:49  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
4470:49    Function Parameters:
4480:49      'inF0' ( in 1-component vector of float)
4490:49      'inF1' ( in 1-component vector of float)
4500:49      'inF2' ( in 1-component vector of float)
4510:?     Sequence
4520:51      Branch: Return with expression
4530:51        Constant:
4540:51          0.000000
4550:55  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
4560:55    Function Parameters:
4570:55      'inF0' ( in 2-component vector of float)
4580:55      'inF1' ( in 2-component vector of float)
4590:55      'inF2' ( in 2-component vector of float)
4600:55      'inU0' ( in 2-component vector of uint)
4610:55      'inU1' ( in 2-component vector of uint)
4620:?     Sequence
4630:59      all ( temp bool)
4640:59        Convert float to bool ( temp 2-component vector of bool)
4650:59          'inF0' ( in 2-component vector of float)
4660:62      AtomicAdd ( temp 2-component vector of uint)
4670:62        'gs_ua2' ( shared 2-component vector of uint)
4680:62        'gs_ub2' ( shared 2-component vector of uint)
4690:63      move second child to first child ( temp 2-component vector of uint)
4700:63        'out_u2' ( temp 2-component vector of uint)
4710:63        AtomicAdd ( temp 2-component vector of uint)
4720:63          'gs_ua2' ( shared 2-component vector of uint)
4730:63          'gs_ub2' ( shared 2-component vector of uint)
4740:64      AtomicAnd ( temp 2-component vector of uint)
4750:64        'gs_ua2' ( shared 2-component vector of uint)
4760:64        'gs_ub2' ( shared 2-component vector of uint)
4770:65      move second child to first child ( temp 2-component vector of uint)
4780:65        'out_u2' ( temp 2-component vector of uint)
4790:65        AtomicAnd ( temp 2-component vector of uint)
4800:65          'gs_ua2' ( shared 2-component vector of uint)
4810:65          'gs_ub2' ( shared 2-component vector of uint)
4820:66      move second child to first child ( temp 2-component vector of uint)
4830:66        'out_u2' ( temp 2-component vector of uint)
4840:66        AtomicCompSwap ( temp 2-component vector of uint)
4850:66          'gs_ua2' ( shared 2-component vector of uint)
4860:66          'gs_ub2' ( shared 2-component vector of uint)
4870:66          'gs_uc2' ( shared 2-component vector of uint)
4880:67      move second child to first child ( temp 2-component vector of uint)
4890:67        'out_u2' ( temp 2-component vector of uint)
4900:67        AtomicExchange ( temp 2-component vector of uint)
4910:67          'gs_ua2' ( shared 2-component vector of uint)
4920:67          'gs_ub2' ( shared 2-component vector of uint)
4930:68      AtomicMax ( temp 2-component vector of uint)
4940:68        'gs_ua2' ( shared 2-component vector of uint)
4950:68        'gs_ub2' ( shared 2-component vector of uint)
4960:69      move second child to first child ( temp 2-component vector of uint)
4970:69        'out_u2' ( temp 2-component vector of uint)
4980:69        AtomicMax ( temp 2-component vector of uint)
4990:69          'gs_ua2' ( shared 2-component vector of uint)
5000:69          'gs_ub2' ( shared 2-component vector of uint)
5010:70      AtomicMin ( temp 2-component vector of uint)
5020:70        'gs_ua2' ( shared 2-component vector of uint)
5030:70        'gs_ub2' ( shared 2-component vector of uint)
5040:71      move second child to first child ( temp 2-component vector of uint)
5050:71        'out_u2' ( temp 2-component vector of uint)
5060:71        AtomicMin ( temp 2-component vector of uint)
5070:71          'gs_ua2' ( shared 2-component vector of uint)
5080:71          'gs_ub2' ( shared 2-component vector of uint)
5090:72      AtomicOr ( temp 2-component vector of uint)
5100:72        'gs_ua2' ( shared 2-component vector of uint)
5110:72        'gs_ub2' ( shared 2-component vector of uint)
5120:73      move second child to first child ( temp 2-component vector of uint)
5130:73        'out_u2' ( temp 2-component vector of uint)
5140:73        AtomicOr ( temp 2-component vector of uint)
5150:73          'gs_ua2' ( shared 2-component vector of uint)
5160:73          'gs_ub2' ( shared 2-component vector of uint)
5170:74      AtomicXor ( temp 2-component vector of uint)
5180:74        'gs_ua2' ( shared 2-component vector of uint)
5190:74        'gs_ub2' ( shared 2-component vector of uint)
5200:75      move second child to first child ( temp 2-component vector of uint)
5210:75        'out_u2' ( temp 2-component vector of uint)
5220:75        AtomicXor ( temp 2-component vector of uint)
5230:75          'gs_ua2' ( shared 2-component vector of uint)
5240:75          'gs_ub2' ( shared 2-component vector of uint)
5250:78      Branch: Return with expression
5260:78        Constant:
5270:78          1.000000
5280:78          2.000000
5290:82  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
5300:82    Function Parameters:
5310:82      'inF0' ( in 3-component vector of float)
5320:82      'inF1' ( in 3-component vector of float)
5330:82      'inF2' ( in 3-component vector of float)
5340:82      'inU0' ( in 3-component vector of uint)
5350:82      'inU1' ( in 3-component vector of uint)
5360:?     Sequence
5370:86      all ( temp bool)
5380:86        Convert float to bool ( temp 3-component vector of bool)
5390:86          'inF0' ( in 3-component vector of float)
5400:89      AtomicAdd ( temp 3-component vector of uint)
5410:89        'gs_ua3' ( shared 3-component vector of uint)
5420:89        'gs_ub3' ( shared 3-component vector of uint)
5430:90      move second child to first child ( temp 3-component vector of uint)
5440:90        'out_u3' ( temp 3-component vector of uint)
5450:90        AtomicAdd ( temp 3-component vector of uint)
5460:90          'gs_ua3' ( shared 3-component vector of uint)
5470:90          'gs_ub3' ( shared 3-component vector of uint)
5480:91      AtomicAnd ( temp 3-component vector of uint)
5490:91        'gs_ua3' ( shared 3-component vector of uint)
5500:91        'gs_ub3' ( shared 3-component vector of uint)
5510:92      move second child to first child ( temp 3-component vector of uint)
5520:92        'out_u3' ( temp 3-component vector of uint)
5530:92        AtomicAnd ( temp 3-component vector of uint)
5540:92          'gs_ua3' ( shared 3-component vector of uint)
5550:92          'gs_ub3' ( shared 3-component vector of uint)
5560:93      move second child to first child ( temp 3-component vector of uint)
5570:93        'out_u3' ( temp 3-component vector of uint)
5580:93        AtomicCompSwap ( temp 3-component vector of uint)
5590:93          'gs_ua3' ( shared 3-component vector of uint)
5600:93          'gs_ub3' ( shared 3-component vector of uint)
5610:93          'gs_uc3' ( shared 3-component vector of uint)
5620:94      move second child to first child ( temp 3-component vector of uint)
5630:94        'out_u3' ( temp 3-component vector of uint)
5640:94        AtomicExchange ( temp 3-component vector of uint)
5650:94          'gs_ua3' ( shared 3-component vector of uint)
5660:94          'gs_ub3' ( shared 3-component vector of uint)
5670:95      AtomicMax ( temp 3-component vector of uint)
5680:95        'gs_ua3' ( shared 3-component vector of uint)
5690:95        'gs_ub3' ( shared 3-component vector of uint)
5700:96      move second child to first child ( temp 3-component vector of uint)
5710:96        'out_u3' ( temp 3-component vector of uint)
5720:96        AtomicMax ( temp 3-component vector of uint)
5730:96          'gs_ua3' ( shared 3-component vector of uint)
5740:96          'gs_ub3' ( shared 3-component vector of uint)
5750:97      AtomicMin ( temp 3-component vector of uint)
5760:97        'gs_ua3' ( shared 3-component vector of uint)
5770:97        'gs_ub3' ( shared 3-component vector of uint)
5780:98      move second child to first child ( temp 3-component vector of uint)
5790:98        'out_u3' ( temp 3-component vector of uint)
5800:98        AtomicMin ( temp 3-component vector of uint)
5810:98          'gs_ua3' ( shared 3-component vector of uint)
5820:98          'gs_ub3' ( shared 3-component vector of uint)
5830:99      AtomicOr ( temp 3-component vector of uint)
5840:99        'gs_ua3' ( shared 3-component vector of uint)
5850:99        'gs_ub3' ( shared 3-component vector of uint)
5860:100      move second child to first child ( temp 3-component vector of uint)
5870:100        'out_u3' ( temp 3-component vector of uint)
5880:100        AtomicOr ( temp 3-component vector of uint)
5890:100          'gs_ua3' ( shared 3-component vector of uint)
5900:100          'gs_ub3' ( shared 3-component vector of uint)
5910:101      AtomicXor ( temp 3-component vector of uint)
5920:101        'gs_ua3' ( shared 3-component vector of uint)
5930:101        'gs_ub3' ( shared 3-component vector of uint)
5940:102      move second child to first child ( temp 3-component vector of uint)
5950:102        'out_u3' ( temp 3-component vector of uint)
5960:102        AtomicXor ( temp 3-component vector of uint)
5970:102          'gs_ua3' ( shared 3-component vector of uint)
5980:102          'gs_ub3' ( shared 3-component vector of uint)
5990:105      Branch: Return with expression
6000:105        Constant:
6010:105          1.000000
6020:105          2.000000
6030:105          3.000000
6040:109  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
6050:109    Function Parameters:
6060:109      'inF0' ( in 4-component vector of float)
6070:109      'inF1' ( in 4-component vector of float)
6080:109      'inF2' ( in 4-component vector of float)
6090:109      'inU0' ( in 4-component vector of uint)
6100:109      'inU1' ( in 4-component vector of uint)
6110:?     Sequence
6120:113      all ( temp bool)
6130:113        Convert float to bool ( temp 4-component vector of bool)
6140:113          'inF0' ( in 4-component vector of float)
6150:116      AtomicAdd ( temp 4-component vector of uint)
6160:116        'gs_ua4' ( shared 4-component vector of uint)
6170:116        'gs_ub4' ( shared 4-component vector of uint)
6180:117      move second child to first child ( temp 4-component vector of uint)
6190:117        'out_u4' ( temp 4-component vector of uint)
6200:117        AtomicAdd ( temp 4-component vector of uint)
6210:117          'gs_ua4' ( shared 4-component vector of uint)
6220:117          'gs_ub4' ( shared 4-component vector of uint)
6230:118      AtomicAnd ( temp 4-component vector of uint)
6240:118        'gs_ua4' ( shared 4-component vector of uint)
6250:118        'gs_ub4' ( shared 4-component vector of uint)
6260:119      move second child to first child ( temp 4-component vector of uint)
6270:119        'out_u4' ( temp 4-component vector of uint)
6280:119        AtomicAnd ( temp 4-component vector of uint)
6290:119          'gs_ua4' ( shared 4-component vector of uint)
6300:119          'gs_ub4' ( shared 4-component vector of uint)
6310:120      move second child to first child ( temp 4-component vector of uint)
6320:120        'out_u4' ( temp 4-component vector of uint)
6330:120        AtomicCompSwap ( temp 4-component vector of uint)
6340:120          'gs_ua4' ( shared 4-component vector of uint)
6350:120          'gs_ub4' ( shared 4-component vector of uint)
6360:120          'gs_uc4' ( shared 4-component vector of uint)
6370:121      move second child to first child ( temp 4-component vector of uint)
6380:121        'out_u4' ( temp 4-component vector of uint)
6390:121        AtomicExchange ( temp 4-component vector of uint)
6400:121          'gs_ua4' ( shared 4-component vector of uint)
6410:121          'gs_ub4' ( shared 4-component vector of uint)
6420:122      AtomicMax ( temp 4-component vector of uint)
6430:122        'gs_ua4' ( shared 4-component vector of uint)
6440:122        'gs_ub4' ( shared 4-component vector of uint)
6450:123      move second child to first child ( temp 4-component vector of uint)
6460:123        'out_u4' ( temp 4-component vector of uint)
6470:123        AtomicMax ( temp 4-component vector of uint)
6480:123          'gs_ua4' ( shared 4-component vector of uint)
6490:123          'gs_ub4' ( shared 4-component vector of uint)
6500:124      AtomicMin ( temp 4-component vector of uint)
6510:124        'gs_ua4' ( shared 4-component vector of uint)
6520:124        'gs_ub4' ( shared 4-component vector of uint)
6530:125      move second child to first child ( temp 4-component vector of uint)
6540:125        'out_u4' ( temp 4-component vector of uint)
6550:125        AtomicMin ( temp 4-component vector of uint)
6560:125          'gs_ua4' ( shared 4-component vector of uint)
6570:125          'gs_ub4' ( shared 4-component vector of uint)
6580:126      AtomicOr ( temp 4-component vector of uint)
6590:126        'gs_ua4' ( shared 4-component vector of uint)
6600:126        'gs_ub4' ( shared 4-component vector of uint)
6610:127      move second child to first child ( temp 4-component vector of uint)
6620:127        'out_u4' ( temp 4-component vector of uint)
6630:127        AtomicOr ( temp 4-component vector of uint)
6640:127          'gs_ua4' ( shared 4-component vector of uint)
6650:127          'gs_ub4' ( shared 4-component vector of uint)
6660:128      AtomicXor ( temp 4-component vector of uint)
6670:128        'gs_ua4' ( shared 4-component vector of uint)
6680:128        'gs_ub4' ( shared 4-component vector of uint)
6690:129      move second child to first child ( temp 4-component vector of uint)
6700:129        'out_u4' ( temp 4-component vector of uint)
6710:129        AtomicXor ( temp 4-component vector of uint)
6720:129          'gs_ua4' ( shared 4-component vector of uint)
6730:129          'gs_ub4' ( shared 4-component vector of uint)
6740:132      Branch: Return with expression
6750:132        Constant:
6760:132          1.000000
6770:132          2.000000
6780:132          3.000000
6790:132          4.000000
6800:109  Function Definition: ComputeShaderFunction( ( temp void)
6810:109    Function Parameters:
6820:?     Sequence
6830:109      move second child to first child ( temp 4-component vector of float)
6840:?         'inF0' ( temp 4-component vector of float)
6850:?         'inF0' (layout( location=0) in 4-component vector of float)
6860:109      move second child to first child ( temp 4-component vector of float)
6870:?         'inF1' ( temp 4-component vector of float)
6880:?         'inF1' (layout( location=1) in 4-component vector of float)
6890:109      move second child to first child ( temp 4-component vector of float)
6900:?         'inF2' ( temp 4-component vector of float)
6910:?         'inF2' (layout( location=2) in 4-component vector of float)
6920:109      move second child to first child ( temp 4-component vector of uint)
6930:?         'inU0' ( temp 4-component vector of uint)
6940:?         'inU0' (layout( location=3) in 4-component vector of uint)
6950:109      move second child to first child ( temp 4-component vector of uint)
6960:?         'inU1' ( temp 4-component vector of uint)
6970:?         'inU1' (layout( location=4) in 4-component vector of uint)
6980:109      move second child to first child ( temp 4-component vector of float)
6990:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
7000:109        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
7010:?           'inF0' ( temp 4-component vector of float)
7020:?           'inF1' ( temp 4-component vector of float)
7030:?           'inF2' ( temp 4-component vector of float)
7040:?           'inU0' ( temp 4-component vector of uint)
7050:?           'inU1' ( temp 4-component vector of uint)
7060:?   Linker Objects
7070:?     'gs_ua' ( shared uint)
7080:?     'gs_ub' ( shared uint)
7090:?     'gs_uc' ( shared uint)
7100:?     'gs_ua2' ( shared 2-component vector of uint)
7110:?     'gs_ub2' ( shared 2-component vector of uint)
7120:?     'gs_uc2' ( shared 2-component vector of uint)
7130:?     'gs_ua3' ( shared 3-component vector of uint)
7140:?     'gs_ub3' ( shared 3-component vector of uint)
7150:?     'gs_uc3' ( shared 3-component vector of uint)
7160:?     'gs_ua4' ( shared 4-component vector of uint)
7170:?     'gs_ub4' ( shared 4-component vector of uint)
7180:?     'gs_uc4' ( shared 4-component vector of uint)
7190:?     'gs_fa' ( shared float)
7200:?     'gs_fb' ( shared float)
7210:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
7220:?     'inF0' (layout( location=0) in 4-component vector of float)
7230:?     'inF1' (layout( location=1) in 4-component vector of float)
7240:?     'inF2' (layout( location=2) in 4-component vector of float)
7250:?     'inU0' (layout( location=3) in 4-component vector of uint)
7260:?     'inU1' (layout( location=4) in 4-component vector of uint)
727
728Validation failed
729// Module Version 10000
730// Generated by (magic number): 8000b
731// Id's are bound by 270
732
733                              Capability Shader
734                              Capability AtomicFloat32AddEXT
735                              Extension  "SPV_EXT_shader_atomic_float_add"
736               1:             ExtInstImport  "GLSL.std.450"
737                              MemoryModel Logical GLSL450
738                              EntryPoint GLCompute 4  "ComputeShaderFunction" 242 245 248 252 255 258
739                              ExecutionMode 4 LocalSize 1 1 1
740                              Source HLSL 500
741                              Name 4  "ComputeShaderFunction"
742                              Name 16  "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
743                              Name 11  "inF0"
744                              Name 12  "inF1"
745                              Name 13  "inF2"
746                              Name 14  "inU0"
747                              Name 15  "inU1"
748                              Name 22  "ComputeShaderFunction1(vf1;vf1;vf1;"
749                              Name 19  "inF0"
750                              Name 20  "inF1"
751                              Name 21  "inF2"
752                              Name 34  "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
753                              Name 29  "inF0"
754                              Name 30  "inF1"
755                              Name 31  "inF2"
756                              Name 32  "inU0"
757                              Name 33  "inU1"
758                              Name 46  "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
759                              Name 41  "inF0"
760                              Name 42  "inF1"
761                              Name 43  "inF2"
762                              Name 44  "inU0"
763                              Name 45  "inU1"
764                              Name 58  "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
765                              Name 53  "inF0"
766                              Name 54  "inF1"
767                              Name 55  "inF2"
768                              Name 56  "inU0"
769                              Name 57  "inU1"
770                              Name 66  "gs_ua"
771                              Name 67  "gs_ub"
772                              Name 72  "out_u1"
773                              Name 80  "gs_uc"
774                              Name 102  "gs_fa"
775                              Name 103  "gs_fb"
776                              Name 116  "gs_ua2"
777                              Name 117  "gs_ub2"
778                              Name 120  "out_u2"
779                              Name 128  "gs_uc2"
780                              Name 160  "gs_ua3"
781                              Name 161  "gs_ub3"
782                              Name 164  "out_u3"
783                              Name 172  "gs_uc3"
784                              Name 203  "gs_ua4"
785                              Name 204  "gs_ub4"
786                              Name 207  "out_u4"
787                              Name 215  "gs_uc4"
788                              Name 240  "inF0"
789                              Name 242  "inF0"
790                              Name 244  "inF1"
791                              Name 245  "inF1"
792                              Name 247  "inF2"
793                              Name 248  "inF2"
794                              Name 250  "inU0"
795                              Name 252  "inU0"
796                              Name 254  "inU1"
797                              Name 255  "inU1"
798                              Name 258  "@entryPointOutput"
799                              Name 259  "param"
800                              Name 261  "param"
801                              Name 263  "param"
802                              Name 265  "param"
803                              Name 267  "param"
804                              Decorate 242(inF0) Location 0
805                              Decorate 245(inF1) Location 1
806                              Decorate 248(inF2) Location 2
807                              Decorate 252(inU0) Location 3
808                              Decorate 255(inU1) Location 4
809                              Decorate 258(@entryPointOutput) Location 0
810               2:             TypeVoid
811               3:             TypeFunction 2
812               6:             TypeFloat 32
813               7:             TypePointer Function 6(float)
814               8:             TypeInt 32 0
815               9:             TypePointer Function 8(int)
816              10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
817              18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
818              24:             TypeVector 6(float) 2
819              25:             TypePointer Function 24(fvec2)
820              26:             TypeVector 8(int) 2
821              27:             TypePointer Function 26(ivec2)
822              28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
823              36:             TypeVector 6(float) 3
824              37:             TypePointer Function 36(fvec3)
825              38:             TypeVector 8(int) 3
826              39:             TypePointer Function 38(ivec3)
827              40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
828              48:             TypeVector 6(float) 4
829              49:             TypePointer Function 48(fvec4)
830              50:             TypeVector 8(int) 4
831              51:             TypePointer Function 50(ivec4)
832              52:             TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
833              61:             TypeBool
834              62:    6(float) Constant 0
835              65:             TypePointer Workgroup 8(int)
836       66(gs_ua):     65(ptr) Variable Workgroup
837       67(gs_ub):     65(ptr) Variable Workgroup
838              69:      8(int) Constant 1
839              70:      8(int) Constant 0
840       80(gs_uc):     65(ptr) Variable Workgroup
841             101:             TypePointer Workgroup 6(float)
842      102(gs_fa):    101(ptr) Variable Workgroup
843      103(gs_fb):    101(ptr) Variable Workgroup
844             111:             TypeVector 61(bool) 2
845             112:   24(fvec2) ConstantComposite 62 62
846             115:             TypePointer Workgroup 26(ivec2)
847     116(gs_ua2):    115(ptr) Variable Workgroup
848     117(gs_ub2):    115(ptr) Variable Workgroup
849     128(gs_uc2):    115(ptr) Variable Workgroup
850             149:    6(float) Constant 1065353216
851             150:    6(float) Constant 1073741824
852             151:   24(fvec2) ConstantComposite 149 150
853             155:             TypeVector 61(bool) 3
854             156:   36(fvec3) ConstantComposite 62 62 62
855             159:             TypePointer Workgroup 38(ivec3)
856     160(gs_ua3):    159(ptr) Variable Workgroup
857     161(gs_ub3):    159(ptr) Variable Workgroup
858     172(gs_uc3):    159(ptr) Variable Workgroup
859             193:    6(float) Constant 1077936128
860             194:   36(fvec3) ConstantComposite 149 150 193
861             198:             TypeVector 61(bool) 4
862             199:   48(fvec4) ConstantComposite 62 62 62 62
863             202:             TypePointer Workgroup 50(ivec4)
864     203(gs_ua4):    202(ptr) Variable Workgroup
865     204(gs_ub4):    202(ptr) Variable Workgroup
866     215(gs_uc4):    202(ptr) Variable Workgroup
867             236:    6(float) Constant 1082130432
868             237:   48(fvec4) ConstantComposite 149 150 193 236
869             241:             TypePointer Input 48(fvec4)
870       242(inF0):    241(ptr) Variable Input
871       245(inF1):    241(ptr) Variable Input
872       248(inF2):    241(ptr) Variable Input
873             251:             TypePointer Input 50(ivec4)
874       252(inU0):    251(ptr) Variable Input
875       255(inU1):    251(ptr) Variable Input
876             257:             TypePointer Output 48(fvec4)
877258(@entryPointOutput):    257(ptr) Variable Output
8784(ComputeShaderFunction):           2 Function None 3
879               5:             Label
880       240(inF0):     49(ptr) Variable Function
881       244(inF1):     49(ptr) Variable Function
882       247(inF2):     49(ptr) Variable Function
883       250(inU0):     51(ptr) Variable Function
884       254(inU1):     51(ptr) Variable Function
885      259(param):     49(ptr) Variable Function
886      261(param):     49(ptr) Variable Function
887      263(param):     49(ptr) Variable Function
888      265(param):     51(ptr) Variable Function
889      267(param):     51(ptr) Variable Function
890             243:   48(fvec4) Load 242(inF0)
891                              Store 240(inF0) 243
892             246:   48(fvec4) Load 245(inF1)
893                              Store 244(inF1) 246
894             249:   48(fvec4) Load 248(inF2)
895                              Store 247(inF2) 249
896             253:   50(ivec4) Load 252(inU0)
897                              Store 250(inU0) 253
898             256:   50(ivec4) Load 255(inU1)
899                              Store 254(inU1) 256
900             260:   48(fvec4) Load 240(inF0)
901                              Store 259(param) 260
902             262:   48(fvec4) Load 244(inF1)
903                              Store 261(param) 262
904             264:   48(fvec4) Load 247(inF2)
905                              Store 263(param) 264
906             266:   50(ivec4) Load 250(inU0)
907                              Store 265(param) 266
908             268:   50(ivec4) Load 254(inU1)
909                              Store 267(param) 268
910             269:   48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 259(param) 261(param) 263(param) 265(param) 267(param)
911                              Store 258(@entryPointOutput) 269
912                              Return
913                              FunctionEnd
91416(ComputeShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
915        11(inF0):      7(ptr) FunctionParameter
916        12(inF1):      7(ptr) FunctionParameter
917        13(inF2):      7(ptr) FunctionParameter
918        14(inU0):      9(ptr) FunctionParameter
919        15(inU1):      9(ptr) FunctionParameter
920              17:             Label
921      72(out_u1):      9(ptr) Variable Function
922              60:    6(float) Load 11(inF0)
923              63:    61(bool) FUnordNotEqual 60 62
924              64:    61(bool) All 63
925              68:      8(int) Load 67(gs_ub)
926              71:      8(int) AtomicIAdd 66(gs_ua) 69 70 68
927              73:      8(int) Load 67(gs_ub)
928              74:      8(int) AtomicIAdd 66(gs_ua) 69 70 73
929                              Store 72(out_u1) 74
930              75:      8(int) Load 67(gs_ub)
931              76:      8(int) AtomicAnd 66(gs_ua) 69 70 75
932              77:      8(int) Load 67(gs_ub)
933              78:      8(int) AtomicAnd 66(gs_ua) 69 70 77
934                              Store 72(out_u1) 78
935              79:      8(int) Load 67(gs_ub)
936              81:      8(int) Load 80(gs_uc)
937              82:      8(int) AtomicCompareExchange 66(gs_ua) 69 70 70 81 79
938                              Store 72(out_u1) 82
939              83:      8(int) Load 67(gs_ub)
940              84:      8(int) AtomicExchange 66(gs_ua) 69 70 83
941                              Store 72(out_u1) 84
942              85:      8(int) Load 67(gs_ub)
943              86:      8(int) AtomicUMax 66(gs_ua) 69 70 85
944              87:      8(int) Load 67(gs_ub)
945              88:      8(int) AtomicUMax 66(gs_ua) 69 70 87
946                              Store 72(out_u1) 88
947              89:      8(int) Load 67(gs_ub)
948              90:      8(int) AtomicUMin 66(gs_ua) 69 70 89
949              91:      8(int) Load 67(gs_ub)
950              92:      8(int) AtomicUMin 66(gs_ua) 69 70 91
951                              Store 72(out_u1) 92
952              93:      8(int) Load 67(gs_ub)
953              94:      8(int) AtomicOr 66(gs_ua) 69 70 93
954              95:      8(int) Load 67(gs_ub)
955              96:      8(int) AtomicOr 66(gs_ua) 69 70 95
956                              Store 72(out_u1) 96
957              97:      8(int) Load 67(gs_ub)
958              98:      8(int) AtomicXor 66(gs_ua) 69 70 97
959              99:      8(int) Load 67(gs_ub)
960             100:      8(int) AtomicXor 66(gs_ua) 69 70 99
961                              Store 72(out_u1) 100
962             104:    6(float) Load 103(gs_fb)
963             105:    6(float) AtomicFAddEXT 102(gs_fa) 69 70 104
964                              ReturnValue 62
965                              FunctionEnd
96622(ComputeShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
967        19(inF0):      7(ptr) FunctionParameter
968        20(inF1):      7(ptr) FunctionParameter
969        21(inF2):      7(ptr) FunctionParameter
970              23:             Label
971                              ReturnValue 62
972                              FunctionEnd
97334(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
974        29(inF0):     25(ptr) FunctionParameter
975        30(inF1):     25(ptr) FunctionParameter
976        31(inF2):     25(ptr) FunctionParameter
977        32(inU0):     27(ptr) FunctionParameter
978        33(inU1):     27(ptr) FunctionParameter
979              35:             Label
980     120(out_u2):     27(ptr) Variable Function
981             110:   24(fvec2) Load 29(inF0)
982             113:  111(bvec2) FUnordNotEqual 110 112
983             114:    61(bool) All 113
984             118:   26(ivec2) Load 117(gs_ub2)
985             119:   26(ivec2) AtomicIAdd 116(gs_ua2) 69 70 118
986             121:   26(ivec2) Load 117(gs_ub2)
987             122:   26(ivec2) AtomicIAdd 116(gs_ua2) 69 70 121
988                              Store 120(out_u2) 122
989             123:   26(ivec2) Load 117(gs_ub2)
990             124:   26(ivec2) AtomicAnd 116(gs_ua2) 69 70 123
991             125:   26(ivec2) Load 117(gs_ub2)
992             126:   26(ivec2) AtomicAnd 116(gs_ua2) 69 70 125
993                              Store 120(out_u2) 126
994             127:   26(ivec2) Load 117(gs_ub2)
995             129:   26(ivec2) Load 128(gs_uc2)
996             130:   26(ivec2) AtomicCompareExchange 116(gs_ua2) 69 70 70 129 127
997                              Store 120(out_u2) 130
998             131:   26(ivec2) Load 117(gs_ub2)
999             132:   26(ivec2) AtomicExchange 116(gs_ua2) 69 70 131
1000                              Store 120(out_u2) 132
1001             133:   26(ivec2) Load 117(gs_ub2)
1002             134:   26(ivec2) AtomicUMax 116(gs_ua2) 69 70 133
1003             135:   26(ivec2) Load 117(gs_ub2)
1004             136:   26(ivec2) AtomicUMax 116(gs_ua2) 69 70 135
1005                              Store 120(out_u2) 136
1006             137:   26(ivec2) Load 117(gs_ub2)
1007             138:   26(ivec2) AtomicUMin 116(gs_ua2) 69 70 137
1008             139:   26(ivec2) Load 117(gs_ub2)
1009             140:   26(ivec2) AtomicUMin 116(gs_ua2) 69 70 139
1010                              Store 120(out_u2) 140
1011             141:   26(ivec2) Load 117(gs_ub2)
1012             142:   26(ivec2) AtomicOr 116(gs_ua2) 69 70 141
1013             143:   26(ivec2) Load 117(gs_ub2)
1014             144:   26(ivec2) AtomicOr 116(gs_ua2) 69 70 143
1015                              Store 120(out_u2) 144
1016             145:   26(ivec2) Load 117(gs_ub2)
1017             146:   26(ivec2) AtomicXor 116(gs_ua2) 69 70 145
1018             147:   26(ivec2) Load 117(gs_ub2)
1019             148:   26(ivec2) AtomicXor 116(gs_ua2) 69 70 147
1020                              Store 120(out_u2) 148
1021                              ReturnValue 151
1022                              FunctionEnd
102346(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
1024        41(inF0):     37(ptr) FunctionParameter
1025        42(inF1):     37(ptr) FunctionParameter
1026        43(inF2):     37(ptr) FunctionParameter
1027        44(inU0):     39(ptr) FunctionParameter
1028        45(inU1):     39(ptr) FunctionParameter
1029              47:             Label
1030     164(out_u3):     39(ptr) Variable Function
1031             154:   36(fvec3) Load 41(inF0)
1032             157:  155(bvec3) FUnordNotEqual 154 156
1033             158:    61(bool) All 157
1034             162:   38(ivec3) Load 161(gs_ub3)
1035             163:   38(ivec3) AtomicIAdd 160(gs_ua3) 69 70 162
1036             165:   38(ivec3) Load 161(gs_ub3)
1037             166:   38(ivec3) AtomicIAdd 160(gs_ua3) 69 70 165
1038                              Store 164(out_u3) 166
1039             167:   38(ivec3) Load 161(gs_ub3)
1040             168:   38(ivec3) AtomicAnd 160(gs_ua3) 69 70 167
1041             169:   38(ivec3) Load 161(gs_ub3)
1042             170:   38(ivec3) AtomicAnd 160(gs_ua3) 69 70 169
1043                              Store 164(out_u3) 170
1044             171:   38(ivec3) Load 161(gs_ub3)
1045             173:   38(ivec3) Load 172(gs_uc3)
1046             174:   38(ivec3) AtomicCompareExchange 160(gs_ua3) 69 70 70 173 171
1047                              Store 164(out_u3) 174
1048             175:   38(ivec3) Load 161(gs_ub3)
1049             176:   38(ivec3) AtomicExchange 160(gs_ua3) 69 70 175
1050                              Store 164(out_u3) 176
1051             177:   38(ivec3) Load 161(gs_ub3)
1052             178:   38(ivec3) AtomicUMax 160(gs_ua3) 69 70 177
1053             179:   38(ivec3) Load 161(gs_ub3)
1054             180:   38(ivec3) AtomicUMax 160(gs_ua3) 69 70 179
1055                              Store 164(out_u3) 180
1056             181:   38(ivec3) Load 161(gs_ub3)
1057             182:   38(ivec3) AtomicUMin 160(gs_ua3) 69 70 181
1058             183:   38(ivec3) Load 161(gs_ub3)
1059             184:   38(ivec3) AtomicUMin 160(gs_ua3) 69 70 183
1060                              Store 164(out_u3) 184
1061             185:   38(ivec3) Load 161(gs_ub3)
1062             186:   38(ivec3) AtomicOr 160(gs_ua3) 69 70 185
1063             187:   38(ivec3) Load 161(gs_ub3)
1064             188:   38(ivec3) AtomicOr 160(gs_ua3) 69 70 187
1065                              Store 164(out_u3) 188
1066             189:   38(ivec3) Load 161(gs_ub3)
1067             190:   38(ivec3) AtomicXor 160(gs_ua3) 69 70 189
1068             191:   38(ivec3) Load 161(gs_ub3)
1069             192:   38(ivec3) AtomicXor 160(gs_ua3) 69 70 191
1070                              Store 164(out_u3) 192
1071                              ReturnValue 194
1072                              FunctionEnd
107358(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
1074        53(inF0):     49(ptr) FunctionParameter
1075        54(inF1):     49(ptr) FunctionParameter
1076        55(inF2):     49(ptr) FunctionParameter
1077        56(inU0):     51(ptr) FunctionParameter
1078        57(inU1):     51(ptr) FunctionParameter
1079              59:             Label
1080     207(out_u4):     51(ptr) Variable Function
1081             197:   48(fvec4) Load 53(inF0)
1082             200:  198(bvec4) FUnordNotEqual 197 199
1083             201:    61(bool) All 200
1084             205:   50(ivec4) Load 204(gs_ub4)
1085             206:   50(ivec4) AtomicIAdd 203(gs_ua4) 69 70 205
1086             208:   50(ivec4) Load 204(gs_ub4)
1087             209:   50(ivec4) AtomicIAdd 203(gs_ua4) 69 70 208
1088                              Store 207(out_u4) 209
1089             210:   50(ivec4) Load 204(gs_ub4)
1090             211:   50(ivec4) AtomicAnd 203(gs_ua4) 69 70 210
1091             212:   50(ivec4) Load 204(gs_ub4)
1092             213:   50(ivec4) AtomicAnd 203(gs_ua4) 69 70 212
1093                              Store 207(out_u4) 213
1094             214:   50(ivec4) Load 204(gs_ub4)
1095             216:   50(ivec4) Load 215(gs_uc4)
1096             217:   50(ivec4) AtomicCompareExchange 203(gs_ua4) 69 70 70 216 214
1097                              Store 207(out_u4) 217
1098             218:   50(ivec4) Load 204(gs_ub4)
1099             219:   50(ivec4) AtomicExchange 203(gs_ua4) 69 70 218
1100                              Store 207(out_u4) 219
1101             220:   50(ivec4) Load 204(gs_ub4)
1102             221:   50(ivec4) AtomicUMax 203(gs_ua4) 69 70 220
1103             222:   50(ivec4) Load 204(gs_ub4)
1104             223:   50(ivec4) AtomicUMax 203(gs_ua4) 69 70 222
1105                              Store 207(out_u4) 223
1106             224:   50(ivec4) Load 204(gs_ub4)
1107             225:   50(ivec4) AtomicUMin 203(gs_ua4) 69 70 224
1108             226:   50(ivec4) Load 204(gs_ub4)
1109             227:   50(ivec4) AtomicUMin 203(gs_ua4) 69 70 226
1110                              Store 207(out_u4) 227
1111             228:   50(ivec4) Load 204(gs_ub4)
1112             229:   50(ivec4) AtomicOr 203(gs_ua4) 69 70 228
1113             230:   50(ivec4) Load 204(gs_ub4)
1114             231:   50(ivec4) AtomicOr 203(gs_ua4) 69 70 230
1115                              Store 207(out_u4) 231
1116             232:   50(ivec4) Load 204(gs_ub4)
1117             233:   50(ivec4) AtomicXor 203(gs_ua4) 69 70 232
1118             234:   50(ivec4) Load 204(gs_ub4)
1119             235:   50(ivec4) AtomicXor 203(gs_ua4) 69 70 234
1120                              Store 207(out_u4) 235
1121                              ReturnValue 237
1122                              FunctionEnd
1123