Files
Pulse/Examples/Vulkan/shader.nzsl
2025-03-08 10:37:41 +01:00

26 lines
382 B
Plaintext

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