9 RWStructuredBuffer<Types> data;
\r
11 [numthreads(32, 16, 1)]
\r
12 void CSMain(uint3 dti : SV_DispatchThreadID)
\r
14 data[dti.x].u = WavePrefixSum(data[dti.x].u);
\r
15 data[dti.x].u.x = WavePrefixSum(data[dti.x].u.x);
\r
16 data[dti.x].u.xy = WavePrefixSum(data[dti.x].u.xy);
\r
17 data[dti.x].u.xyz = WavePrefixSum(data[dti.x].u.xyz);
\r
19 data[dti.x].i = WavePrefixSum(data[dti.x].i);
\r
20 data[dti.x].i.x = WavePrefixSum(data[dti.x].i.x);
\r
21 data[dti.x].i.xy = WavePrefixSum(data[dti.x].i.xy);
\r
22 data[dti.x].i.xyz = WavePrefixSum(data[dti.x].i.xyz);
\r
24 data[dti.x].f = WavePrefixSum(data[dti.x].f);
\r
25 data[dti.x].f.x = WavePrefixSum(data[dti.x].f.x);
\r
26 data[dti.x].f.xy = WavePrefixSum(data[dti.x].f.xy);
\r
27 data[dti.x].f.xyz = WavePrefixSum(data[dti.x].f.xyz);
\r
29 data[dti.x].d = WavePrefixSum(data[dti.x].d);
\r
30 data[dti.x].d.x = WavePrefixSum(data[dti.x].d.x);
\r
31 data[dti.x].d.xy = WavePrefixSum(data[dti.x].d.xy);
\r
32 data[dti.x].d.xyz = WavePrefixSum(data[dti.x].d.xyz);
\r
34 data[dti.x].u = WavePrefixProduct(data[dti.x].u);
\r
35 data[dti.x].u.x = WavePrefixProduct(data[dti.x].u.x);
\r
36 data[dti.x].u.xy = WavePrefixProduct(data[dti.x].u.xy);
\r
37 data[dti.x].u.xyz = WavePrefixProduct(data[dti.x].u.xyz);
\r
39 data[dti.x].i = WavePrefixProduct(data[dti.x].i);
\r
40 data[dti.x].i.x = WavePrefixProduct(data[dti.x].i.x);
\r
41 data[dti.x].i.xy = WavePrefixProduct(data[dti.x].i.xy);
\r
42 data[dti.x].i.xyz = WavePrefixProduct(data[dti.x].i.xyz);
\r
44 data[dti.x].f = WavePrefixProduct(data[dti.x].f);
\r
45 data[dti.x].f.x = WavePrefixProduct(data[dti.x].f.x);
\r
46 data[dti.x].f.xy = WavePrefixProduct(data[dti.x].f.xy);
\r
47 data[dti.x].f.xyz = WavePrefixProduct(data[dti.x].f.xyz);
\r
49 data[dti.x].d = WavePrefixProduct(data[dti.x].d);
\r
50 data[dti.x].d.x = WavePrefixProduct(data[dti.x].d.x);
\r
51 data[dti.x].d.xy = WavePrefixProduct(data[dti.x].d.xy);
\r
52 data[dti.x].d.xyz = WavePrefixProduct(data[dti.x].d.xyz);
\r
54 data[dti.x].u.x = WavePrefixCountBits(data[dti.x].u.x == 0);
\r