static const uint3 gl_WorkGroupSize = uint3(30u, 1u, 1u); RWByteAddressBuffer _46 : register(u0, space0); static uint3 gl_GlobalInvocationID; struct SPIRV_Cross_Input { uint3 gl_GlobalInvocationID : SV_DispatchThreadID; }; void comp_main() { bool v = gl_GlobalInvocationID.x != 3u; bool4 v4; v4.x = bool(WaveActiveBitOr(uint(v))); v4.y = bool(WaveActiveBitAnd(uint(v))); v4.z = bool(WaveActiveBitXor(uint(v))); v4.w = WaveActiveAllEqual(v); uint4 w = uint4(v4); _46.Store(gl_GlobalInvocationID.x * 4 + 0, ((w.x + w.y) + w.z) + w.w); } [numthreads(30, 1, 1)] void main(SPIRV_Cross_Input stage_input) { gl_GlobalInvocationID = stage_input.gl_GlobalInvocationID; comp_main(); }