struct DrawIndirectArgs { vertexCount : atomic; }; @group(0) @binding(5) var drawOut : DrawIndirectArgs; var cubeVerts : u32 = 0u; @stage(compute) @workgroup_size(1) fn computeMain(@builtin(global_invocation_id) global_id : vec3) { // Increment cubeVerts based on some criteria... // This fails SPIR-V validation let firstVertex : u32 = atomicAdd(&drawOut.vertexCount, cubeVerts); }