[nzsl_version("1.0")] module; struct Input { [builtin(global_invocation_indices)] indices: vec3[u32] } [layout(std430)] struct SSBO { data: dyn_array[u32] } [set(0)] external { [binding(0)] read_ssbo: storage[SSBO, readonly], } [set(1)] external { [binding(0)] write_ssbo: storage[SSBO, writeonly], } [entry(compute)] [workgroup(16, 16, 1)] fn main(input: Input) { write_ssbo.data[input.indices.x * input.indices.y] = read_ssbo.data[input.indices.x * input.indices.y]; }