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