15 lines
428 B
WebGPU Shading Language
15 lines
428 B
WebGPU Shading Language
struct DrawIndirectArgs {
|
|
vertexCount : atomic<u32>,
|
|
};
|
|
@group(0) @binding(5) var<storage, read_write> drawOut : DrawIndirectArgs;
|
|
|
|
var<private> cubeVerts : u32 = 0u;
|
|
|
|
@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);
|
|
}
|