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) { let firstVertex : u32 = atomicAdd(&(drawOut.vertexCount), cubeVerts); }