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:?         Constant:
1590:?           1.000000
1600:?           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:?         Constant:
2330:?           1.000000
2340:?           2.000000
2350:?           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:?         Constant:
3080:?           1.000000
3090:?           2.000000
3100:?           3.000000
3110:?           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:?         Constant:
5190:?           1.000000
5200:?           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:?         Constant:
5930:?           1.000000
5940:?           2.000000
5950:?           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:?         Constant:
6680:?           1.000000
6690:?           2.000000
6700:?           3.000000
6710:?           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
718// Module Version 10000
719// Generated by (magic number): 80007
720// Id's are bound by 265
721
722                              Capability Shader
723               1:             ExtInstImport  "GLSL.std.450"
724                              MemoryModel Logical GLSL450
725                              EntryPoint GLCompute 4  "ComputeShaderFunction" 237 240 243 247 250 253
726                              ExecutionMode 4 LocalSize 1 1 1
727                              Source HLSL 500
728                              Name 4  "ComputeShaderFunction"
729                              Name 16  "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
730                              Name 11  "inF0"
731                              Name 12  "inF1"
732                              Name 13  "inF2"
733                              Name 14  "inU0"
734                              Name 15  "inU1"
735                              Name 22  "ComputeShaderFunction1(vf1;vf1;vf1;"
736                              Name 19  "inF0"
737                              Name 20  "inF1"
738                              Name 21  "inF2"
739                              Name 34  "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
740                              Name 29  "inF0"
741                              Name 30  "inF1"
742                              Name 31  "inF2"
743                              Name 32  "inU0"
744                              Name 33  "inU1"
745                              Name 46  "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
746                              Name 41  "inF0"
747                              Name 42  "inF1"
748                              Name 43  "inF2"
749                              Name 44  "inU0"
750                              Name 45  "inU1"
751                              Name 58  "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;"
752                              Name 53  "inF0"
753                              Name 54  "inF1"
754                              Name 55  "inF2"
755                              Name 56  "inU0"
756                              Name 57  "inU1"
757                              Name 66  "gs_ua"
758                              Name 67  "gs_ub"
759                              Name 72  "out_u1"
760                              Name 80  "gs_uc"
761                              Name 111  "gs_ua2"
762                              Name 112  "gs_ub2"
763                              Name 115  "out_u2"
764                              Name 123  "gs_uc2"
765                              Name 155  "gs_ua3"
766                              Name 156  "gs_ub3"
767                              Name 159  "out_u3"
768                              Name 167  "gs_uc3"
769                              Name 198  "gs_ua4"
770                              Name 199  "gs_ub4"
771                              Name 202  "out_u4"
772                              Name 210  "gs_uc4"
773                              Name 235  "inF0"
774                              Name 237  "inF0"
775                              Name 239  "inF1"
776                              Name 240  "inF1"
777                              Name 242  "inF2"
778                              Name 243  "inF2"
779                              Name 245  "inU0"
780                              Name 247  "inU0"
781                              Name 249  "inU1"
782                              Name 250  "inU1"
783                              Name 253  "@entryPointOutput"
784                              Name 254  "param"
785                              Name 256  "param"
786                              Name 258  "param"
787                              Name 260  "param"
788                              Name 262  "param"
789                              Decorate 237(inF0) Location 0
790                              Decorate 240(inF1) Location 1
791                              Decorate 243(inF2) Location 2
792                              Decorate 247(inU0) Location 3
793                              Decorate 250(inU1) Location 4
794                              Decorate 253(@entryPointOutput) Location 0
795               2:             TypeVoid
796               3:             TypeFunction 2
797               6:             TypeFloat 32
798               7:             TypePointer Function 6(float)
799               8:             TypeInt 32 0
800               9:             TypePointer Function 8(int)
801              10:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
802              18:             TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
803              24:             TypeVector 6(float) 2
804              25:             TypePointer Function 24(fvec2)
805              26:             TypeVector 8(int) 2
806              27:             TypePointer Function 26(ivec2)
807              28:             TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
808              36:             TypeVector 6(float) 3
809              37:             TypePointer Function 36(fvec3)
810              38:             TypeVector 8(int) 3
811              39:             TypePointer Function 38(ivec3)
812              40:             TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
813              48:             TypeVector 6(float) 4
814              49:             TypePointer Function 48(fvec4)
815              50:             TypeVector 8(int) 4
816              51:             TypePointer Function 50(ivec4)
817              52:             TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
818              61:             TypeBool
819              62:    6(float) Constant 0
820              65:             TypePointer Workgroup 8(int)
821       66(gs_ua):     65(ptr) Variable Workgroup
822       67(gs_ub):     65(ptr) Variable Workgroup
823              69:      8(int) Constant 1
824              70:      8(int) Constant 0
825       80(gs_uc):     65(ptr) Variable Workgroup
826             106:             TypeVector 61(bool) 2
827             107:   24(fvec2) ConstantComposite 62 62
828             110:             TypePointer Workgroup 26(ivec2)
829     111(gs_ua2):    110(ptr) Variable Workgroup
830     112(gs_ub2):    110(ptr) Variable Workgroup
831     123(gs_uc2):    110(ptr) Variable Workgroup
832             144:    6(float) Constant 1065353216
833             145:    6(float) Constant 1073741824
834             146:   24(fvec2) ConstantComposite 144 145
835             150:             TypeVector 61(bool) 3
836             151:   36(fvec3) ConstantComposite 62 62 62
837             154:             TypePointer Workgroup 38(ivec3)
838     155(gs_ua3):    154(ptr) Variable Workgroup
839     156(gs_ub3):    154(ptr) Variable Workgroup
840     167(gs_uc3):    154(ptr) Variable Workgroup
841             188:    6(float) Constant 1077936128
842             189:   36(fvec3) ConstantComposite 144 145 188
843             193:             TypeVector 61(bool) 4
844             194:   48(fvec4) ConstantComposite 62 62 62 62
845             197:             TypePointer Workgroup 50(ivec4)
846     198(gs_ua4):    197(ptr) Variable Workgroup
847     199(gs_ub4):    197(ptr) Variable Workgroup
848     210(gs_uc4):    197(ptr) Variable Workgroup
849             231:    6(float) Constant 1082130432
850             232:   48(fvec4) ConstantComposite 144 145 188 231
851             236:             TypePointer Input 48(fvec4)
852       237(inF0):    236(ptr) Variable Input
853       240(inF1):    236(ptr) Variable Input
854       243(inF2):    236(ptr) Variable Input
855             246:             TypePointer Input 50(ivec4)
856       247(inU0):    246(ptr) Variable Input
857       250(inU1):    246(ptr) Variable Input
858             252:             TypePointer Output 48(fvec4)
859253(@entryPointOutput):    252(ptr) Variable Output
8604(ComputeShaderFunction):           2 Function None 3
861               5:             Label
862       235(inF0):     49(ptr) Variable Function
863       239(inF1):     49(ptr) Variable Function
864       242(inF2):     49(ptr) Variable Function
865       245(inU0):     51(ptr) Variable Function
866       249(inU1):     51(ptr) Variable Function
867      254(param):     49(ptr) Variable Function
868      256(param):     49(ptr) Variable Function
869      258(param):     49(ptr) Variable Function
870      260(param):     51(ptr) Variable Function
871      262(param):     51(ptr) Variable Function
872             238:   48(fvec4) Load 237(inF0)
873                              Store 235(inF0) 238
874             241:   48(fvec4) Load 240(inF1)
875                              Store 239(inF1) 241
876             244:   48(fvec4) Load 243(inF2)
877                              Store 242(inF2) 244
878             248:   50(ivec4) Load 247(inU0)
879                              Store 245(inU0) 248
880             251:   50(ivec4) Load 250(inU1)
881                              Store 249(inU1) 251
882             255:   48(fvec4) Load 235(inF0)
883                              Store 254(param) 255
884             257:   48(fvec4) Load 239(inF1)
885                              Store 256(param) 257
886             259:   48(fvec4) Load 242(inF2)
887                              Store 258(param) 259
888             261:   50(ivec4) Load 245(inU0)
889                              Store 260(param) 261
890             263:   50(ivec4) Load 249(inU1)
891                              Store 262(param) 263
892             264:   48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 254(param) 256(param) 258(param) 260(param) 262(param)
893                              Store 253(@entryPointOutput) 264
894                              Return
895                              FunctionEnd
89616(ComputeShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
897        11(inF0):      7(ptr) FunctionParameter
898        12(inF1):      7(ptr) FunctionParameter
899        13(inF2):      7(ptr) FunctionParameter
900        14(inU0):      9(ptr) FunctionParameter
901        15(inU1):      9(ptr) FunctionParameter
902              17:             Label
903      72(out_u1):      9(ptr) Variable Function
904              60:    6(float) Load 11(inF0)
905              63:    61(bool) FOrdNotEqual 60 62
906              64:    61(bool) All 63
907              68:      8(int) Load 67(gs_ub)
908              71:      8(int) AtomicIAdd 66(gs_ua) 69 70 68
909              73:      8(int) Load 67(gs_ub)
910              74:      8(int) AtomicIAdd 66(gs_ua) 69 70 73
911                              Store 72(out_u1) 74
912              75:      8(int) Load 67(gs_ub)
913              76:      8(int) AtomicAnd 66(gs_ua) 69 70 75
914              77:      8(int) Load 67(gs_ub)
915              78:      8(int) AtomicAnd 66(gs_ua) 69 70 77
916                              Store 72(out_u1) 78
917              79:      8(int) Load 67(gs_ub)
918              81:      8(int) Load 80(gs_uc)
919              82:      8(int) AtomicCompareExchange 66(gs_ua) 69 70 70 81 79
920                              Store 72(out_u1) 82
921              83:      8(int) Load 67(gs_ub)
922              84:      8(int) AtomicExchange 66(gs_ua) 69 70 83
923                              Store 72(out_u1) 84
924              85:      8(int) Load 67(gs_ub)
925              86:      8(int) AtomicUMax 66(gs_ua) 69 70 85
926              87:      8(int) Load 67(gs_ub)
927              88:      8(int) AtomicUMax 66(gs_ua) 69 70 87
928                              Store 72(out_u1) 88
929              89:      8(int) Load 67(gs_ub)
930              90:      8(int) AtomicUMin 66(gs_ua) 69 70 89
931              91:      8(int) Load 67(gs_ub)
932              92:      8(int) AtomicUMin 66(gs_ua) 69 70 91
933                              Store 72(out_u1) 92
934              93:      8(int) Load 67(gs_ub)
935              94:      8(int) AtomicOr 66(gs_ua) 69 70 93
936              95:      8(int) Load 67(gs_ub)
937              96:      8(int) AtomicOr 66(gs_ua) 69 70 95
938                              Store 72(out_u1) 96
939              97:      8(int) Load 67(gs_ub)
940              98:      8(int) AtomicXor 66(gs_ua) 69 70 97
941              99:      8(int) Load 67(gs_ub)
942             100:      8(int) AtomicXor 66(gs_ua) 69 70 99
943                              Store 72(out_u1) 100
944                              ReturnValue 62
945                              FunctionEnd
94622(ComputeShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
947        19(inF0):      7(ptr) FunctionParameter
948        20(inF1):      7(ptr) FunctionParameter
949        21(inF2):      7(ptr) FunctionParameter
950              23:             Label
951                              ReturnValue 62
952                              FunctionEnd
95334(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;):   24(fvec2) Function None 28
954        29(inF0):     25(ptr) FunctionParameter
955        30(inF1):     25(ptr) FunctionParameter
956        31(inF2):     25(ptr) FunctionParameter
957        32(inU0):     27(ptr) FunctionParameter
958        33(inU1):     27(ptr) FunctionParameter
959              35:             Label
960     115(out_u2):     27(ptr) Variable Function
961             105:   24(fvec2) Load 29(inF0)
962             108:  106(bvec2) FOrdNotEqual 105 107
963             109:    61(bool) All 108
964             113:   26(ivec2) Load 112(gs_ub2)
965             114:   26(ivec2) AtomicIAdd 111(gs_ua2) 69 70 113
966             116:   26(ivec2) Load 112(gs_ub2)
967             117:   26(ivec2) AtomicIAdd 111(gs_ua2) 69 70 116
968                              Store 115(out_u2) 117
969             118:   26(ivec2) Load 112(gs_ub2)
970             119:   26(ivec2) AtomicAnd 111(gs_ua2) 69 70 118
971             120:   26(ivec2) Load 112(gs_ub2)
972             121:   26(ivec2) AtomicAnd 111(gs_ua2) 69 70 120
973                              Store 115(out_u2) 121
974             122:   26(ivec2) Load 112(gs_ub2)
975             124:   26(ivec2) Load 123(gs_uc2)
976             125:   26(ivec2) AtomicCompareExchange 111(gs_ua2) 69 70 70 124 122
977                              Store 115(out_u2) 125
978             126:   26(ivec2) Load 112(gs_ub2)
979             127:   26(ivec2) AtomicExchange 111(gs_ua2) 69 70 126
980                              Store 115(out_u2) 127
981             128:   26(ivec2) Load 112(gs_ub2)
982             129:   26(ivec2) AtomicUMax 111(gs_ua2) 69 70 128
983             130:   26(ivec2) Load 112(gs_ub2)
984             131:   26(ivec2) AtomicUMax 111(gs_ua2) 69 70 130
985                              Store 115(out_u2) 131
986             132:   26(ivec2) Load 112(gs_ub2)
987             133:   26(ivec2) AtomicUMin 111(gs_ua2) 69 70 132
988             134:   26(ivec2) Load 112(gs_ub2)
989             135:   26(ivec2) AtomicUMin 111(gs_ua2) 69 70 134
990                              Store 115(out_u2) 135
991             136:   26(ivec2) Load 112(gs_ub2)
992             137:   26(ivec2) AtomicOr 111(gs_ua2) 69 70 136
993             138:   26(ivec2) Load 112(gs_ub2)
994             139:   26(ivec2) AtomicOr 111(gs_ua2) 69 70 138
995                              Store 115(out_u2) 139
996             140:   26(ivec2) Load 112(gs_ub2)
997             141:   26(ivec2) AtomicXor 111(gs_ua2) 69 70 140
998             142:   26(ivec2) Load 112(gs_ub2)
999             143:   26(ivec2) AtomicXor 111(gs_ua2) 69 70 142
1000                              Store 115(out_u2) 143
1001                              ReturnValue 146
1002                              FunctionEnd
100346(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
1004        41(inF0):     37(ptr) FunctionParameter
1005        42(inF1):     37(ptr) FunctionParameter
1006        43(inF2):     37(ptr) FunctionParameter
1007        44(inU0):     39(ptr) FunctionParameter
1008        45(inU1):     39(ptr) FunctionParameter
1009              47:             Label
1010     159(out_u3):     39(ptr) Variable Function
1011             149:   36(fvec3) Load 41(inF0)
1012             152:  150(bvec3) FOrdNotEqual 149 151
1013             153:    61(bool) All 152
1014             157:   38(ivec3) Load 156(gs_ub3)
1015             158:   38(ivec3) AtomicIAdd 155(gs_ua3) 69 70 157
1016             160:   38(ivec3) Load 156(gs_ub3)
1017             161:   38(ivec3) AtomicIAdd 155(gs_ua3) 69 70 160
1018                              Store 159(out_u3) 161
1019             162:   38(ivec3) Load 156(gs_ub3)
1020             163:   38(ivec3) AtomicAnd 155(gs_ua3) 69 70 162
1021             164:   38(ivec3) Load 156(gs_ub3)
1022             165:   38(ivec3) AtomicAnd 155(gs_ua3) 69 70 164
1023                              Store 159(out_u3) 165
1024             166:   38(ivec3) Load 156(gs_ub3)
1025             168:   38(ivec3) Load 167(gs_uc3)
1026             169:   38(ivec3) AtomicCompareExchange 155(gs_ua3) 69 70 70 168 166
1027                              Store 159(out_u3) 169
1028             170:   38(ivec3) Load 156(gs_ub3)
1029             171:   38(ivec3) AtomicExchange 155(gs_ua3) 69 70 170
1030                              Store 159(out_u3) 171
1031             172:   38(ivec3) Load 156(gs_ub3)
1032             173:   38(ivec3) AtomicUMax 155(gs_ua3) 69 70 172
1033             174:   38(ivec3) Load 156(gs_ub3)
1034             175:   38(ivec3) AtomicUMax 155(gs_ua3) 69 70 174
1035                              Store 159(out_u3) 175
1036             176:   38(ivec3) Load 156(gs_ub3)
1037             177:   38(ivec3) AtomicUMin 155(gs_ua3) 69 70 176
1038             178:   38(ivec3) Load 156(gs_ub3)
1039             179:   38(ivec3) AtomicUMin 155(gs_ua3) 69 70 178
1040                              Store 159(out_u3) 179
1041             180:   38(ivec3) Load 156(gs_ub3)
1042             181:   38(ivec3) AtomicOr 155(gs_ua3) 69 70 180
1043             182:   38(ivec3) Load 156(gs_ub3)
1044             183:   38(ivec3) AtomicOr 155(gs_ua3) 69 70 182
1045                              Store 159(out_u3) 183
1046             184:   38(ivec3) Load 156(gs_ub3)
1047             185:   38(ivec3) AtomicXor 155(gs_ua3) 69 70 184
1048             186:   38(ivec3) Load 156(gs_ub3)
1049             187:   38(ivec3) AtomicXor 155(gs_ua3) 69 70 186
1050                              Store 159(out_u3) 187
1051                              ReturnValue 189
1052                              FunctionEnd
105358(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
1054        53(inF0):     49(ptr) FunctionParameter
1055        54(inF1):     49(ptr) FunctionParameter
1056        55(inF2):     49(ptr) FunctionParameter
1057        56(inU0):     51(ptr) FunctionParameter
1058        57(inU1):     51(ptr) FunctionParameter
1059              59:             Label
1060     202(out_u4):     51(ptr) Variable Function
1061             192:   48(fvec4) Load 53(inF0)
1062             195:  193(bvec4) FOrdNotEqual 192 194
1063             196:    61(bool) All 195
1064             200:   50(ivec4) Load 199(gs_ub4)
1065             201:   50(ivec4) AtomicIAdd 198(gs_ua4) 69 70 200
1066             203:   50(ivec4) Load 199(gs_ub4)
1067             204:   50(ivec4) AtomicIAdd 198(gs_ua4) 69 70 203
1068                              Store 202(out_u4) 204
1069             205:   50(ivec4) Load 199(gs_ub4)
1070             206:   50(ivec4) AtomicAnd 198(gs_ua4) 69 70 205
1071             207:   50(ivec4) Load 199(gs_ub4)
1072             208:   50(ivec4) AtomicAnd 198(gs_ua4) 69 70 207
1073                              Store 202(out_u4) 208
1074             209:   50(ivec4) Load 199(gs_ub4)
1075             211:   50(ivec4) Load 210(gs_uc4)
1076             212:   50(ivec4) AtomicCompareExchange 198(gs_ua4) 69 70 70 211 209
1077                              Store 202(out_u4) 212
1078             213:   50(ivec4) Load 199(gs_ub4)
1079             214:   50(ivec4) AtomicExchange 198(gs_ua4) 69 70 213
1080                              Store 202(out_u4) 214
1081             215:   50(ivec4) Load 199(gs_ub4)
1082             216:   50(ivec4) AtomicUMax 198(gs_ua4) 69 70 215
1083             217:   50(ivec4) Load 199(gs_ub4)
1084             218:   50(ivec4) AtomicUMax 198(gs_ua4) 69 70 217
1085                              Store 202(out_u4) 218
1086             219:   50(ivec4) Load 199(gs_ub4)
1087             220:   50(ivec4) AtomicUMin 198(gs_ua4) 69 70 219
1088             221:   50(ivec4) Load 199(gs_ub4)
1089             222:   50(ivec4) AtomicUMin 198(gs_ua4) 69 70 221
1090                              Store 202(out_u4) 222
1091             223:   50(ivec4) Load 199(gs_ub4)
1092             224:   50(ivec4) AtomicOr 198(gs_ua4) 69 70 223
1093             225:   50(ivec4) Load 199(gs_ub4)
1094             226:   50(ivec4) AtomicOr 198(gs_ua4) 69 70 225
1095                              Store 202(out_u4) 226
1096             227:   50(ivec4) Load 199(gs_ub4)
1097             228:   50(ivec4) AtomicXor 198(gs_ua4) 69 70 227
1098             229:   50(ivec4) Load 199(gs_ub4)
1099             230:   50(ivec4) AtomicXor 198(gs_ua4) 69 70 229
1100                              Store 202(out_u4) 230
1101                              ReturnValue 232
1102                              FunctionEnd
1103