1RWStructuredBuffer<uint64_t> data; 2 3[numthreads(32, 16, 1)] 4void CSMain(uint3 dti : SV_DispatchThreadID) 5{ 6 data[dti.x] = WaveActiveBallot(WaveActiveAnyTrue(dti.x == 0)); 7 data[dti.y] = WaveActiveBallot(WaveActiveAllTrue(dti.y == 0)); 8 data[dti.z] = WaveActiveBallot(WaveActiveAllEqualBool(dti.z == 0)); 9 data[dti.z] = WaveActiveBallot(WaveActiveAllEqual(dti.z)); 10} 11