• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.intrinsics.comp
2Shader version: 500
3local_size = (1, 1, 1)
40:? Sequence
50:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
60:17    Function Parameters:
70:17      'inF0' ( in float)
80:17      'inF1' ( in float)
90:17      'inF2' ( in float)
100:17      'inU0' ( in uint)
110:17      'inU1' ( in uint)
120:?     Sequence
130:21      all ( temp bool)
140:21        Convert float to bool ( temp bool)
150:21          'inF0' ( in float)
160:24      AtomicAdd ( temp uint)
170:24        'gs_ua' ( shared uint)
180:24        'gs_ub' ( shared uint)
190:25      move second child to first child ( temp uint)
200:25        'out_u1' ( temp uint)
210:25        AtomicAdd ( temp uint)
220:25          'gs_ua' ( shared uint)
230:25          'gs_ub' ( shared uint)
240:26      AtomicAnd ( temp uint)
250:26        'gs_ua' ( shared uint)
260:26        'gs_ub' ( shared uint)
270:27      move second child to first child ( temp uint)
280:27        'out_u1' ( temp uint)
290:27        AtomicAnd ( temp uint)
300:27          'gs_ua' ( shared uint)
310:27          'gs_ub' ( shared uint)
320:28      move second child to first child ( temp uint)
330:28        'out_u1' ( temp uint)
340:28        AtomicCompSwap ( temp uint)
350:28          'gs_ua' ( shared uint)
360:28          'gs_ub' ( shared uint)
370:28          'gs_uc' ( shared uint)
380:29      move second child to first child ( temp uint)
390:29        'out_u1' ( temp uint)
400:29        AtomicExchange ( temp uint)
410:29          'gs_ua' ( shared uint)
420:29          'gs_ub' ( shared uint)
430:30      AtomicMax ( temp uint)
440:30        'gs_ua' ( shared uint)
450:30        'gs_ub' ( shared uint)
460:31      move second child to first child ( temp uint)
470:31        'out_u1' ( temp uint)
480:31        AtomicMax ( temp uint)
490:31          'gs_ua' ( shared uint)
500:31          'gs_ub' ( shared uint)
510:32      AtomicMin ( temp uint)
520:32        'gs_ua' ( shared uint)
530:32        'gs_ub' ( shared uint)
540:33      move second child to first child ( temp uint)
550:33        'out_u1' ( temp uint)
560:33        AtomicMin ( temp uint)
570:33          'gs_ua' ( shared uint)
580:33          'gs_ub' ( shared uint)
590:34      AtomicOr ( temp uint)
600:34        'gs_ua' ( shared uint)
610:34        'gs_ub' ( shared uint)
620:35      move second child to first child ( temp uint)
630:35        'out_u1' ( temp uint)
640:35        AtomicOr ( temp uint)
650:35          'gs_ua' ( shared uint)
660:35          'gs_ub' ( shared uint)
670:36      AtomicXor ( temp uint)
680:36        'gs_ua' ( shared uint)
690:36        'gs_ub' ( shared uint)
700:37      move second child to first child ( temp uint)
710:37        'out_u1' ( temp uint)
720:37        AtomicXor ( temp uint)
730:37          'gs_ua' ( shared uint)
740:37          'gs_ub' ( shared uint)
750:41      Branch: Return with expression
760:41        Constant:
770:41          0.000000
780:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
790:45    Function Parameters:
800:45      'inF0' ( in 1-component vector of float)
810:45      'inF1' ( in 1-component vector of float)
820:45      'inF2' ( in 1-component vector of float)
830:?     Sequence
840:47      Branch: Return with expression
850:47        Constant:
860:47          0.000000
870:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
880:51    Function Parameters:
890:51      'inF0' ( in 2-component vector of float)
900:51      'inF1' ( in 2-component vector of float)
910:51      'inF2' ( in 2-component vector of float)
920:51      'inU0' ( in 2-component vector of uint)
930:51      'inU1' ( in 2-component vector of uint)
940:?     Sequence
950:55      all ( temp bool)
960:55        Convert float to bool ( temp 2-component vector of bool)
970:55          'inF0' ( in 2-component vector of float)
980:58      AtomicAdd ( temp 2-component vector of uint)
990:58        'gs_ua2' ( shared 2-component vector of uint)
1000:58        'gs_ub2' ( shared 2-component vector of uint)
1010:59      move second child to first child ( temp 2-component vector of uint)
1020:59        'out_u2' ( temp 2-component vector of uint)
1030:59        AtomicAdd ( temp 2-component vector of uint)
1040:59          'gs_ua2' ( shared 2-component vector of uint)
1050:59          'gs_ub2' ( shared 2-component vector of uint)
1060:60      AtomicAnd ( temp 2-component vector of uint)
1070:60        'gs_ua2' ( shared 2-component vector of uint)
1080:60        'gs_ub2' ( shared 2-component vector of uint)
1090:61      move second child to first child ( temp 2-component vector of uint)
1100:61        'out_u2' ( temp 2-component vector of uint)
1110:61        AtomicAnd ( temp 2-component vector of uint)
1120:61          'gs_ua2' ( shared 2-component vector of uint)
1130:61          'gs_ub2' ( shared 2-component vector of uint)
1140:62      move second child to first child ( temp 2-component vector of uint)
1150:62        'out_u2' ( temp 2-component vector of uint)
1160:62        AtomicCompSwap ( temp 2-component vector of uint)
1170:62          'gs_ua2' ( shared 2-component vector of uint)
1180:62          'gs_ub2' ( shared 2-component vector of uint)
1190:62          'gs_uc2' ( shared 2-component vector of uint)
1200:63      move second child to first child ( temp 2-component vector of uint)
1210:63        'out_u2' ( temp 2-component vector of uint)
1220:63        AtomicExchange ( temp 2-component vector of uint)
1230:63          'gs_ua2' ( shared 2-component vector of uint)
1240:63          'gs_ub2' ( shared 2-component vector of uint)
1250:64      AtomicMax ( temp 2-component vector of uint)
1260:64        'gs_ua2' ( shared 2-component vector of uint)
1270:64        'gs_ub2' ( shared 2-component vector of uint)
1280:65      move second child to first child ( temp 2-component vector of uint)
1290:65        'out_u2' ( temp 2-component vector of uint)
1300:65        AtomicMax ( temp 2-component vector of uint)
1310:65          'gs_ua2' ( shared 2-component vector of uint)
1320:65          'gs_ub2' ( shared 2-component vector of uint)
1330:66      AtomicMin ( temp 2-component vector of uint)
1340:66        'gs_ua2' ( shared 2-component vector of uint)
1350:66        'gs_ub2' ( shared 2-component vector of uint)
1360:67      move second child to first child ( temp 2-component vector of uint)
1370:67        'out_u2' ( temp 2-component vector of uint)
1380:67        AtomicMin ( temp 2-component vector of uint)
1390:67          'gs_ua2' ( shared 2-component vector of uint)
1400:67          'gs_ub2' ( shared 2-component vector of uint)
1410:68      AtomicOr ( temp 2-component vector of uint)
1420:68        'gs_ua2' ( shared 2-component vector of uint)
1430:68        'gs_ub2' ( shared 2-component vector of uint)
1440:69      move second child to first child ( temp 2-component vector of uint)
1450:69        'out_u2' ( temp 2-component vector of uint)
1460:69        AtomicOr ( temp 2-component vector of uint)
1470:69          'gs_ua2' ( shared 2-component vector of uint)
1480:69          'gs_ub2' ( shared 2-component vector of uint)
1490:70      AtomicXor ( temp 2-component vector of uint)
1500:70        'gs_ua2' ( shared 2-component vector of uint)
1510:70        'gs_ub2' ( shared 2-component vector of uint)
1520:71      move second child to first child ( temp 2-component vector of uint)
1530:71        'out_u2' ( temp 2-component vector of uint)
1540:71        AtomicXor ( temp 2-component vector of uint)
1550:71          'gs_ua2' ( shared 2-component vector of uint)
1560:71          'gs_ub2' ( shared 2-component vector of uint)
1570:74      Branch: Return with expression
1580:74        Constant:
1590:74          1.000000
1600:74          2.000000
1610:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
1620:78    Function Parameters:
1630:78      'inF0' ( in 3-component vector of float)
1640:78      'inF1' ( in 3-component vector of float)
1650:78      'inF2' ( in 3-component vector of float)
1660:78      'inU0' ( in 3-component vector of uint)
1670:78      'inU1' ( in 3-component vector of uint)
1680:?     Sequence
1690:82      all ( temp bool)
1700:82        Convert float to bool ( temp 3-component vector of bool)
1710:82          'inF0' ( in 3-component vector of float)
1720:85      AtomicAdd ( temp 3-component vector of uint)
1730:85        'gs_ua3' ( shared 3-component vector of uint)
1740:85        'gs_ub3' ( shared 3-component vector of uint)
1750:86      move second child to first child ( temp 3-component vector of uint)
1760:86        'out_u3' ( temp 3-component vector of uint)
1770:86        AtomicAdd ( temp 3-component vector of uint)
1780:86          'gs_ua3' ( shared 3-component vector of uint)
1790:86          'gs_ub3' ( shared 3-component vector of uint)
1800:87      AtomicAnd ( temp 3-component vector of uint)
1810:87        'gs_ua3' ( shared 3-component vector of uint)
1820:87        'gs_ub3' ( shared 3-component vector of uint)
1830:88      move second child to first child ( temp 3-component vector of uint)
1840:88        'out_u3' ( temp 3-component vector of uint)
1850:88        AtomicAnd ( temp 3-component vector of uint)
1860:88          'gs_ua3' ( shared 3-component vector of uint)
1870:88          'gs_ub3' ( shared 3-component vector of uint)
1880:89      move second child to first child ( temp 3-component vector of uint)
1890:89        'out_u3' ( temp 3-component vector of uint)
1900:89        AtomicCompSwap ( temp 3-component vector of uint)
1910:89          'gs_ua3' ( shared 3-component vector of uint)
1920:89          'gs_ub3' ( shared 3-component vector of uint)
1930:89          'gs_uc3' ( shared 3-component vector of uint)
1940:90      move second child to first child ( temp 3-component vector of uint)
1950:90        'out_u3' ( temp 3-component vector of uint)
1960:90        AtomicExchange ( temp 3-component vector of uint)
1970:90          'gs_ua3' ( shared 3-component vector of uint)
1980:90          'gs_ub3' ( shared 3-component vector of uint)
1990:91      AtomicMax ( temp 3-component vector of uint)
2000:91        'gs_ua3' ( shared 3-component vector of uint)
2010:91        'gs_ub3' ( shared 3-component vector of uint)
2020:92      move second child to first child ( temp 3-component vector of uint)
2030:92        'out_u3' ( temp 3-component vector of uint)
2040:92        AtomicMax ( temp 3-component vector of uint)
2050:92          'gs_ua3' ( shared 3-component vector of uint)
2060:92          'gs_ub3' ( shared 3-component vector of uint)
2070:93      AtomicMin ( temp 3-component vector of uint)
2080:93        'gs_ua3' ( shared 3-component vector of uint)
2090:93        'gs_ub3' ( shared 3-component vector of uint)
2100:94      move second child to first child ( temp 3-component vector of uint)
2110:94        'out_u3' ( temp 3-component vector of uint)
2120:94        AtomicMin ( temp 3-component vector of uint)
2130:94          'gs_ua3' ( shared 3-component vector of uint)
2140:94          'gs_ub3' ( shared 3-component vector of uint)
2150:95      AtomicOr ( temp 3-component vector of uint)
2160:95        'gs_ua3' ( shared 3-component vector of uint)
2170:95        'gs_ub3' ( shared 3-component vector of uint)
2180:96      move second child to first child ( temp 3-component vector of uint)
2190:96        'out_u3' ( temp 3-component vector of uint)
2200:96        AtomicOr ( temp 3-component vector of uint)
2210:96          'gs_ua3' ( shared 3-component vector of uint)
2220:96          'gs_ub3' ( shared 3-component vector of uint)
2230:97      AtomicXor ( temp 3-component vector of uint)
2240:97        'gs_ua3' ( shared 3-component vector of uint)
2250:97        'gs_ub3' ( shared 3-component vector of uint)
2260:98      move second child to first child ( temp 3-component vector of uint)
2270:98        'out_u3' ( temp 3-component vector of uint)
2280:98        AtomicXor ( temp 3-component vector of uint)
2290:98          'gs_ua3' ( shared 3-component vector of uint)
2300:98          'gs_ub3' ( shared 3-component vector of uint)
2310:101      Branch: Return with expression
2320:101        Constant:
2330:101          1.000000
2340:101          2.000000
2350:101          3.000000
2360:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
2370:105    Function Parameters:
2380:105      'inF0' ( in 4-component vector of float)
2390:105      'inF1' ( in 4-component vector of float)
2400:105      'inF2' ( in 4-component vector of float)
2410:105      'inU0' ( in 4-component vector of uint)
2420:105      'inU1' ( in 4-component vector of uint)
2430:?     Sequence
2440:109      all ( temp bool)
2450:109        Convert float to bool ( temp 4-component vector of bool)
2460:109          'inF0' ( in 4-component vector of float)
2470:112      AtomicAdd ( temp 4-component vector of uint)
2480:112        'gs_ua4' ( shared 4-component vector of uint)
2490:112        'gs_ub4' ( shared 4-component vector of uint)
2500:113      move second child to first child ( temp 4-component vector of uint)
2510:113        'out_u4' ( temp 4-component vector of uint)
2520:113        AtomicAdd ( temp 4-component vector of uint)
2530:113          'gs_ua4' ( shared 4-component vector of uint)
2540:113          'gs_ub4' ( shared 4-component vector of uint)
2550:114      AtomicAnd ( temp 4-component vector of uint)
2560:114        'gs_ua4' ( shared 4-component vector of uint)
2570:114        'gs_ub4' ( shared 4-component vector of uint)
2580:115      move second child to first child ( temp 4-component vector of uint)
2590:115        'out_u4' ( temp 4-component vector of uint)
2600:115        AtomicAnd ( temp 4-component vector of uint)
2610:115          'gs_ua4' ( shared 4-component vector of uint)
2620:115          'gs_ub4' ( shared 4-component vector of uint)
2630:116      move second child to first child ( temp 4-component vector of uint)
2640:116        'out_u4' ( temp 4-component vector of uint)
2650:116        AtomicCompSwap ( temp 4-component vector of uint)
2660:116          'gs_ua4' ( shared 4-component vector of uint)
2670:116          'gs_ub4' ( shared 4-component vector of uint)
2680:116          'gs_uc4' ( shared 4-component vector of uint)
2690:117      move second child to first child ( temp 4-component vector of uint)
2700:117        'out_u4' ( temp 4-component vector of uint)
2710:117        AtomicExchange ( temp 4-component vector of uint)
2720:117          'gs_ua4' ( shared 4-component vector of uint)
2730:117          'gs_ub4' ( shared 4-component vector of uint)
2740:118      AtomicMax ( temp 4-component vector of uint)
2750:118        'gs_ua4' ( shared 4-component vector of uint)
2760:118        'gs_ub4' ( shared 4-component vector of uint)
2770:119      move second child to first child ( temp 4-component vector of uint)
2780:119        'out_u4' ( temp 4-component vector of uint)
2790:119        AtomicMax ( temp 4-component vector of uint)
2800:119          'gs_ua4' ( shared 4-component vector of uint)
2810:119          'gs_ub4' ( shared 4-component vector of uint)
2820:120      AtomicMin ( temp 4-component vector of uint)
2830:120        'gs_ua4' ( shared 4-component vector of uint)
2840:120        'gs_ub4' ( shared 4-component vector of uint)
2850:121      move second child to first child ( temp 4-component vector of uint)
2860:121        'out_u4' ( temp 4-component vector of uint)
2870:121        AtomicMin ( temp 4-component vector of uint)
2880:121          'gs_ua4' ( shared 4-component vector of uint)
2890:121          'gs_ub4' ( shared 4-component vector of uint)
2900:122      AtomicOr ( temp 4-component vector of uint)
2910:122        'gs_ua4' ( shared 4-component vector of uint)
2920:122        'gs_ub4' ( shared 4-component vector of uint)
2930:123      move second child to first child ( temp 4-component vector of uint)
2940:123        'out_u4' ( temp 4-component vector of uint)
2950:123        AtomicOr ( temp 4-component vector of uint)
2960:123          'gs_ua4' ( shared 4-component vector of uint)
2970:123          'gs_ub4' ( shared 4-component vector of uint)
2980:124      AtomicXor ( temp 4-component vector of uint)
2990:124        'gs_ua4' ( shared 4-component vector of uint)
3000:124        'gs_ub4' ( shared 4-component vector of uint)
3010:125      move second child to first child ( temp 4-component vector of uint)
3020:125        'out_u4' ( temp 4-component vector of uint)
3030:125        AtomicXor ( temp 4-component vector of uint)
3040:125          'gs_ua4' ( shared 4-component vector of uint)
3050:125          'gs_ub4' ( shared 4-component vector of uint)
3060:128      Branch: Return with expression
3070:128        Constant:
3080:128          1.000000
3090:128          2.000000
3100:128          3.000000
3110:128          4.000000
3120:105  Function Definition: ComputeShaderFunction( ( temp void)
3130:105    Function Parameters:
3140:?     Sequence
3150:105      move second child to first child ( temp 4-component vector of float)
3160:?         'inF0' ( temp 4-component vector of float)
3170:?         'inF0' (layout( location=0) in 4-component vector of float)
3180:105      move second child to first child ( temp 4-component vector of float)
3190:?         'inF1' ( temp 4-component vector of float)
3200:?         'inF1' (layout( location=1) in 4-component vector of float)
3210:105      move second child to first child ( temp 4-component vector of float)
3220:?         'inF2' ( temp 4-component vector of float)
3230:?         'inF2' (layout( location=2) in 4-component vector of float)
3240:105      move second child to first child ( temp 4-component vector of uint)
3250:?         'inU0' ( temp 4-component vector of uint)
3260:?         'inU0' (layout( location=3) in 4-component vector of uint)
3270:105      move second child to first child ( temp 4-component vector of uint)
3280:?         'inU1' ( temp 4-component vector of uint)
3290:?         'inU1' (layout( location=4) in 4-component vector of uint)
3300:105      move second child to first child ( temp 4-component vector of float)
3310:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3320:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
3330:?           'inF0' ( temp 4-component vector of float)
3340:?           'inF1' ( temp 4-component vector of float)
3350:?           'inF2' ( temp 4-component vector of float)
3360:?           'inU0' ( temp 4-component vector of uint)
3370:?           'inU1' ( temp 4-component vector of uint)
3380:?   Linker Objects
3390:?     'gs_ua' ( shared uint)
3400:?     'gs_ub' ( shared uint)
3410:?     'gs_uc' ( shared uint)
3420:?     'gs_ua2' ( shared 2-component vector of uint)
3430:?     'gs_ub2' ( shared 2-component vector of uint)
3440:?     'gs_uc2' ( shared 2-component vector of uint)
3450:?     'gs_ua3' ( shared 3-component vector of uint)
3460:?     'gs_ub3' ( shared 3-component vector of uint)
3470:?     'gs_uc3' ( shared 3-component vector of uint)
3480:?     'gs_ua4' ( shared 4-component vector of uint)
3490:?     'gs_ub4' ( shared 4-component vector of uint)
3500:?     'gs_uc4' ( shared 4-component vector of uint)
3510:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
3520:?     'inF0' (layout( location=0) in 4-component vector of float)
3530:?     'inF1' (layout( location=1) in 4-component vector of float)
3540:?     'inF2' (layout( location=2) in 4-component vector of float)
3550:?     'inU0' (layout( location=3) in 4-component vector of uint)
3560:?     'inU1' (layout( location=4) in 4-component vector of uint)
357
358
359Linked compute stage:
360
361
362Shader version: 500
363local_size = (1, 1, 1)
3640:? Sequence
3650:17  Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float)
3660:17    Function Parameters:
3670:17      'inF0' ( in float)
3680:17      'inF1' ( in float)
3690:17      'inF2' ( in float)
3700:17      'inU0' ( in uint)
3710:17      'inU1' ( in uint)
3720:?     Sequence
3730:21      all ( temp bool)
3740:21        Convert float to bool ( temp bool)
3750:21          'inF0' ( in float)
3760:24      AtomicAdd ( temp uint)
3770:24        'gs_ua' ( shared uint)
3780:24        'gs_ub' ( shared uint)
3790:25      move second child to first child ( temp uint)
3800:25        'out_u1' ( temp uint)
3810:25        AtomicAdd ( temp uint)
3820:25          'gs_ua' ( shared uint)
3830:25          'gs_ub' ( shared uint)
3840:26      AtomicAnd ( temp uint)
3850:26        'gs_ua' ( shared uint)
3860:26        'gs_ub' ( shared uint)
3870:27      move second child to first child ( temp uint)
3880:27        'out_u1' ( temp uint)
3890:27        AtomicAnd ( temp uint)
3900:27          'gs_ua' ( shared uint)
3910:27          'gs_ub' ( shared uint)
3920:28      move second child to first child ( temp uint)
3930:28        'out_u1' ( temp uint)
3940:28        AtomicCompSwap ( temp uint)
3950:28          'gs_ua' ( shared uint)
3960:28          'gs_ub' ( shared uint)
3970:28          'gs_uc' ( shared uint)
3980:29      move second child to first child ( temp uint)
3990:29        'out_u1' ( temp uint)
4000:29        AtomicExchange ( temp uint)
4010:29          'gs_ua' ( shared uint)
4020:29          'gs_ub' ( shared uint)
4030:30      AtomicMax ( temp uint)
4040:30        'gs_ua' ( shared uint)
4050:30        'gs_ub' ( shared uint)
4060:31      move second child to first child ( temp uint)
4070:31        'out_u1' ( temp uint)
4080:31        AtomicMax ( temp uint)
4090:31          'gs_ua' ( shared uint)
4100:31          'gs_ub' ( shared uint)
4110:32      AtomicMin ( temp uint)
4120:32        'gs_ua' ( shared uint)
4130:32        'gs_ub' ( shared uint)
4140:33      move second child to first child ( temp uint)
4150:33        'out_u1' ( temp uint)
4160:33        AtomicMin ( temp uint)
4170:33          'gs_ua' ( shared uint)
4180:33          'gs_ub' ( shared uint)
4190:34      AtomicOr ( temp uint)
4200:34        'gs_ua' ( shared uint)
4210:34        'gs_ub' ( shared uint)
4220:35      move second child to first child ( temp uint)
4230:35        'out_u1' ( temp uint)
4240:35        AtomicOr ( temp uint)
4250:35          'gs_ua' ( shared uint)
4260:35          'gs_ub' ( shared uint)
4270:36      AtomicXor ( temp uint)
4280:36        'gs_ua' ( shared uint)
4290:36        'gs_ub' ( shared uint)
4300:37      move second child to first child ( temp uint)
4310:37        'out_u1' ( temp uint)
4320:37        AtomicXor ( temp uint)
4330:37          'gs_ua' ( shared uint)
4340:37          'gs_ub' ( shared uint)
4350:41      Branch: Return with expression
4360:41        Constant:
4370:41          0.000000
4380:45  Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
4390:45    Function Parameters:
4400:45      'inF0' ( in 1-component vector of float)
4410:45      'inF1' ( in 1-component vector of float)
4420:45      'inF2' ( in 1-component vector of float)
4430:?     Sequence
4440:47      Branch: Return with expression
4450:47        Constant:
4460:47          0.000000
4470:51  Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
4480:51    Function Parameters:
4490:51      'inF0' ( in 2-component vector of float)
4500:51      'inF1' ( in 2-component vector of float)
4510:51      'inF2' ( in 2-component vector of float)
4520:51      'inU0' ( in 2-component vector of uint)
4530:51      'inU1' ( in 2-component vector of uint)
4540:?     Sequence
4550:55      all ( temp bool)
4560:55        Convert float to bool ( temp 2-component vector of bool)
4570:55          'inF0' ( in 2-component vector of float)
4580:58      AtomicAdd ( temp 2-component vector of uint)
4590:58        'gs_ua2' ( shared 2-component vector of uint)
4600:58        'gs_ub2' ( shared 2-component vector of uint)
4610:59      move second child to first child ( temp 2-component vector of uint)
4620:59        'out_u2' ( temp 2-component vector of uint)
4630:59        AtomicAdd ( temp 2-component vector of uint)
4640:59          'gs_ua2' ( shared 2-component vector of uint)
4650:59          'gs_ub2' ( shared 2-component vector of uint)
4660:60      AtomicAnd ( temp 2-component vector of uint)
4670:60        'gs_ua2' ( shared 2-component vector of uint)
4680:60        'gs_ub2' ( shared 2-component vector of uint)
4690:61      move second child to first child ( temp 2-component vector of uint)
4700:61        'out_u2' ( temp 2-component vector of uint)
4710:61        AtomicAnd ( temp 2-component vector of uint)
4720:61          'gs_ua2' ( shared 2-component vector of uint)
4730:61          'gs_ub2' ( shared 2-component vector of uint)
4740:62      move second child to first child ( temp 2-component vector of uint)
4750:62        'out_u2' ( temp 2-component vector of uint)
4760:62        AtomicCompSwap ( temp 2-component vector of uint)
4770:62          'gs_ua2' ( shared 2-component vector of uint)
4780:62          'gs_ub2' ( shared 2-component vector of uint)
4790:62          'gs_uc2' ( shared 2-component vector of uint)
4800:63      move second child to first child ( temp 2-component vector of uint)
4810:63        'out_u2' ( temp 2-component vector of uint)
4820:63        AtomicExchange ( temp 2-component vector of uint)
4830:63          'gs_ua2' ( shared 2-component vector of uint)
4840:63          'gs_ub2' ( shared 2-component vector of uint)
4850:64      AtomicMax ( temp 2-component vector of uint)
4860:64        'gs_ua2' ( shared 2-component vector of uint)
4870:64        'gs_ub2' ( shared 2-component vector of uint)
4880:65      move second child to first child ( temp 2-component vector of uint)
4890:65        'out_u2' ( temp 2-component vector of uint)
4900:65        AtomicMax ( temp 2-component vector of uint)
4910:65          'gs_ua2' ( shared 2-component vector of uint)
4920:65          'gs_ub2' ( shared 2-component vector of uint)
4930:66      AtomicMin ( temp 2-component vector of uint)
4940:66        'gs_ua2' ( shared 2-component vector of uint)
4950:66        'gs_ub2' ( shared 2-component vector of uint)
4960:67      move second child to first child ( temp 2-component vector of uint)
4970:67        'out_u2' ( temp 2-component vector of uint)
4980:67        AtomicMin ( temp 2-component vector of uint)
4990:67          'gs_ua2' ( shared 2-component vector of uint)
5000:67          'gs_ub2' ( shared 2-component vector of uint)
5010:68      AtomicOr ( temp 2-component vector of uint)
5020:68        'gs_ua2' ( shared 2-component vector of uint)
5030:68        'gs_ub2' ( shared 2-component vector of uint)
5040:69      move second child to first child ( temp 2-component vector of uint)
5050:69        'out_u2' ( temp 2-component vector of uint)
5060:69        AtomicOr ( temp 2-component vector of uint)
5070:69          'gs_ua2' ( shared 2-component vector of uint)
5080:69          'gs_ub2' ( shared 2-component vector of uint)
5090:70      AtomicXor ( temp 2-component vector of uint)
5100:70        'gs_ua2' ( shared 2-component vector of uint)
5110:70        'gs_ub2' ( shared 2-component vector of uint)
5120:71      move second child to first child ( temp 2-component vector of uint)
5130:71        'out_u2' ( temp 2-component vector of uint)
5140:71        AtomicXor ( temp 2-component vector of uint)
5150:71          'gs_ua2' ( shared 2-component vector of uint)
5160:71          'gs_ub2' ( shared 2-component vector of uint)
5170:74      Branch: Return with expression
5180:74        Constant:
5190:74          1.000000
5200:74          2.000000
5210:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
5220:78    Function Parameters:
5230:78      'inF0' ( in 3-component vector of float)
5240:78      'inF1' ( in 3-component vector of float)
5250:78      'inF2' ( in 3-component vector of float)
5260:78      'inU0' ( in 3-component vector of uint)
5270:78      'inU1' ( in 3-component vector of uint)
5280:?     Sequence
5290:82      all ( temp bool)
5300:82        Convert float to bool ( temp 3-component vector of bool)
5310:82          'inF0' ( in 3-component vector of float)
5320:85      AtomicAdd ( temp 3-component vector of uint)
5330:85        'gs_ua3' ( shared 3-component vector of uint)
5340:85        'gs_ub3' ( shared 3-component vector of uint)
5350:86      move second child to first child ( temp 3-component vector of uint)
5360:86        'out_u3' ( temp 3-component vector of uint)
5370:86        AtomicAdd ( temp 3-component vector of uint)
5380:86          'gs_ua3' ( shared 3-component vector of uint)
5390:86          'gs_ub3' ( shared 3-component vector of uint)
5400:87      AtomicAnd ( temp 3-component vector of uint)
5410:87        'gs_ua3' ( shared 3-component vector of uint)
5420:87        'gs_ub3' ( shared 3-component vector of uint)
5430:88      move second child to first child ( temp 3-component vector of uint)
5440:88        'out_u3' ( temp 3-component vector of uint)
5450:88        AtomicAnd ( temp 3-component vector of uint)
5460:88          'gs_ua3' ( shared 3-component vector of uint)
5470:88          'gs_ub3' ( shared 3-component vector of uint)
5480:89      move second child to first child ( temp 3-component vector of uint)
5490:89        'out_u3' ( temp 3-component vector of uint)
5500:89        AtomicCompSwap ( temp 3-component vector of uint)
5510:89          'gs_ua3' ( shared 3-component vector of uint)
5520:89          'gs_ub3' ( shared 3-component vector of uint)
5530:89          'gs_uc3' ( shared 3-component vector of uint)
5540:90      move second child to first child ( temp 3-component vector of uint)
5550:90        'out_u3' ( temp 3-component vector of uint)
5560:90        AtomicExchange ( temp 3-component vector of uint)
5570:90          'gs_ua3' ( shared 3-component vector of uint)
5580:90          'gs_ub3' ( shared 3-component vector of uint)
5590:91      AtomicMax ( temp 3-component vector of uint)
5600:91        'gs_ua3' ( shared 3-component vector of uint)
5610:91        'gs_ub3' ( shared 3-component vector of uint)
5620:92      move second child to first child ( temp 3-component vector of uint)
5630:92        'out_u3' ( temp 3-component vector of uint)
5640:92        AtomicMax ( temp 3-component vector of uint)
5650:92          'gs_ua3' ( shared 3-component vector of uint)
5660:92          'gs_ub3' ( shared 3-component vector of uint)
5670:93      AtomicMin ( temp 3-component vector of uint)
5680:93        'gs_ua3' ( shared 3-component vector of uint)
5690:93        'gs_ub3' ( shared 3-component vector of uint)
5700:94      move second child to first child ( temp 3-component vector of uint)
5710:94        'out_u3' ( temp 3-component vector of uint)
5720:94        AtomicMin ( temp 3-component vector of uint)
5730:94          'gs_ua3' ( shared 3-component vector of uint)
5740:94          'gs_ub3' ( shared 3-component vector of uint)
5750:95      AtomicOr ( temp 3-component vector of uint)
5760:95        'gs_ua3' ( shared 3-component vector of uint)
5770:95        'gs_ub3' ( shared 3-component vector of uint)
5780:96      move second child to first child ( temp 3-component vector of uint)
5790:96        'out_u3' ( temp 3-component vector of uint)
5800:96        AtomicOr ( temp 3-component vector of uint)
5810:96          'gs_ua3' ( shared 3-component vector of uint)
5820:96          'gs_ub3' ( shared 3-component vector of uint)
5830:97      AtomicXor ( temp 3-component vector of uint)
5840:97        'gs_ua3' ( shared 3-component vector of uint)
5850:97        'gs_ub3' ( shared 3-component vector of uint)
5860:98      move second child to first child ( temp 3-component vector of uint)
5870:98        'out_u3' ( temp 3-component vector of uint)
5880:98        AtomicXor ( temp 3-component vector of uint)
5890:98          'gs_ua3' ( shared 3-component vector of uint)
5900:98          'gs_ub3' ( shared 3-component vector of uint)
5910:101      Branch: Return with expression
5920:101        Constant:
5930:101          1.000000
5940:101          2.000000
5950:101          3.000000
5960:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
5970:105    Function Parameters:
5980:105      'inF0' ( in 4-component vector of float)
5990:105      'inF1' ( in 4-component vector of float)
6000:105      'inF2' ( in 4-component vector of float)
6010:105      'inU0' ( in 4-component vector of uint)
6020:105      'inU1' ( in 4-component vector of uint)
6030:?     Sequence
6040:109      all ( temp bool)
6050:109        Convert float to bool ( temp 4-component vector of bool)
6060:109          'inF0' ( in 4-component vector of float)
6070:112      AtomicAdd ( temp 4-component vector of uint)
6080:112        'gs_ua4' ( shared 4-component vector of uint)
6090:112        'gs_ub4' ( shared 4-component vector of uint)
6100:113      move second child to first child ( temp 4-component vector of uint)
6110:113        'out_u4' ( temp 4-component vector of uint)
6120:113        AtomicAdd ( temp 4-component vector of uint)
6130:113          'gs_ua4' ( shared 4-component vector of uint)
6140:113          'gs_ub4' ( shared 4-component vector of uint)
6150:114      AtomicAnd ( temp 4-component vector of uint)
6160:114        'gs_ua4' ( shared 4-component vector of uint)
6170:114        'gs_ub4' ( shared 4-component vector of uint)
6180:115      move second child to first child ( temp 4-component vector of uint)
6190:115        'out_u4' ( temp 4-component vector of uint)
6200:115        AtomicAnd ( temp 4-component vector of uint)
6210:115          'gs_ua4' ( shared 4-component vector of uint)
6220:115          'gs_ub4' ( shared 4-component vector of uint)
6230:116      move second child to first child ( temp 4-component vector of uint)
6240:116        'out_u4' ( temp 4-component vector of uint)
6250:116        AtomicCompSwap ( temp 4-component vector of uint)
6260:116          'gs_ua4' ( shared 4-component vector of uint)
6270:116          'gs_ub4' ( shared 4-component vector of uint)
6280:116          'gs_uc4' ( shared 4-component vector of uint)
6290:117      move second child to first child ( temp 4-component vector of uint)
6300:117        'out_u4' ( temp 4-component vector of uint)
6310:117        AtomicExchange ( temp 4-component vector of uint)
6320:117          'gs_ua4' ( shared 4-component vector of uint)
6330:117          'gs_ub4' ( shared 4-component vector of uint)
6340:118      AtomicMax ( temp 4-component vector of uint)
6350:118        'gs_ua4' ( shared 4-component vector of uint)
6360:118        'gs_ub4' ( shared 4-component vector of uint)
6370:119      move second child to first child ( temp 4-component vector of uint)
6380:119        'out_u4' ( temp 4-component vector of uint)
6390:119        AtomicMax ( temp 4-component vector of uint)
6400:119          'gs_ua4' ( shared 4-component vector of uint)
6410:119          'gs_ub4' ( shared 4-component vector of uint)
6420:120      AtomicMin ( temp 4-component vector of uint)
6430:120        'gs_ua4' ( shared 4-component vector of uint)
6440:120        'gs_ub4' ( shared 4-component vector of uint)
6450:121      move second child to first child ( temp 4-component vector of uint)
6460:121        'out_u4' ( temp 4-component vector of uint)
6470:121        AtomicMin ( temp 4-component vector of uint)
6480:121          'gs_ua4' ( shared 4-component vector of uint)
6490:121          'gs_ub4' ( shared 4-component vector of uint)
6500:122      AtomicOr ( temp 4-component vector of uint)
6510:122        'gs_ua4' ( shared 4-component vector of uint)
6520:122        'gs_ub4' ( shared 4-component vector of uint)
6530:123      move second child to first child ( temp 4-component vector of uint)
6540:123        'out_u4' ( temp 4-component vector of uint)
6550:123        AtomicOr ( temp 4-component vector of uint)
6560:123          'gs_ua4' ( shared 4-component vector of uint)
6570:123          'gs_ub4' ( shared 4-component vector of uint)
6580:124      AtomicXor ( temp 4-component vector of uint)
6590:124        'gs_ua4' ( shared 4-component vector of uint)
6600:124        'gs_ub4' ( shared 4-component vector of uint)
6610:125      move second child to first child ( temp 4-component vector of uint)
6620:125        'out_u4' ( temp 4-component vector of uint)
6630:125        AtomicXor ( temp 4-component vector of uint)
6640:125          'gs_ua4' ( shared 4-component vector of uint)
6650:125          'gs_ub4' ( shared 4-component vector of uint)
6660:128      Branch: Return with expression
6670:128        Constant:
6680:128          1.000000
6690:128          2.000000
6700:128          3.000000
6710:128          4.000000
6720:105  Function Definition: ComputeShaderFunction( ( temp void)
6730:105    Function Parameters:
6740:?     Sequence
6750:105      move second child to first child ( temp 4-component vector of float)
6760:?         'inF0' ( temp 4-component vector of float)
6770:?         'inF0' (layout( location=0) in 4-component vector of float)
6780:105      move second child to first child ( temp 4-component vector of float)
6790:?         'inF1' ( temp 4-component vector of float)
6800:?         'inF1' (layout( location=1) in 4-component vector of float)
6810:105      move second child to first child ( temp 4-component vector of float)
6820:?         'inF2' ( temp 4-component vector of float)
6830:?         'inF2' (layout( location=2) in 4-component vector of float)
6840:105      move second child to first child ( temp 4-component vector of uint)
6850:?         'inU0' ( temp 4-component vector of uint)
6860:?         'inU0' (layout( location=3) in 4-component vector of uint)
6870:105      move second child to first child ( temp 4-component vector of uint)
6880:?         'inU1' ( temp 4-component vector of uint)
6890:?         'inU1' (layout( location=4) in 4-component vector of uint)
6900:105      move second child to first child ( temp 4-component vector of float)
6910:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
6920:105        Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
6930:?           'inF0' ( temp 4-component vector of float)
6940:?           'inF1' ( temp 4-component vector of float)
6950:?           'inF2' ( temp 4-component vector of float)
6960:?           'inU0' ( temp 4-component vector of uint)
6970:?           'inU1' ( temp 4-component vector of uint)
6980:?   Linker Objects
6990:?     'gs_ua' ( shared uint)
7000:?     'gs_ub' ( shared uint)
7010:?     'gs_uc' ( shared uint)
7020:?     'gs_ua2' ( shared 2-component vector of uint)
7030:?     'gs_ub2' ( shared 2-component vector of uint)
7040:?     'gs_uc2' ( shared 2-component vector of uint)
7050:?     'gs_ua3' ( shared 3-component vector of uint)
7060:?     'gs_ub3' ( shared 3-component vector of uint)
7070:?     'gs_uc3' ( shared 3-component vector of uint)
7080:?     'gs_ua4' ( shared 4-component vector of uint)
7090:?     'gs_ub4' ( shared 4-component vector of uint)
7100:?     'gs_uc4' ( shared 4-component vector of uint)
7110:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
7120:?     'inF0' (layout( location=0) in 4-component vector of float)
7130:?     'inF1' (layout( location=1) in 4-component vector of float)
7140:?     'inF2' (layout( location=2) in 4-component vector of float)
7150:?     'inU0' (layout( location=3) in 4-component vector of uint)
7160:?     'inU1' (layout( location=4) in 4-component vector of uint)
717
718Validation failed
719// Module Version 10000
720// Generated by (magic number): 8000b
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)
860253(@entryPointOutput):    252(ptr) Variable Output
8614(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
89716(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) FUnordNotEqual 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
94722(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
95434(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) FUnordNotEqual 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
100446(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) FUnordNotEqual 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
105458(@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) FUnordNotEqual 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