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