This commit is contained in:
2025-04-06 22:17:03 +02:00
parent 849fc458e2
commit 2dd7860b17
10 changed files with 164 additions and 107 deletions

32
Tests/Shaders/Vulkan-OpenGL/BufferCopy.nzsl git.filemode.normal_file
View File

@@ -0,0 +1,32 @@
[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];
}

View File

@@ -0,0 +1,25 @@
[nzsl_version("1.0")]
module;
struct Input
{
[builtin(global_invocation_indices)] indices: vec3[u32]
}
[layout(std430)]
struct SSBO
{
data: dyn_array[u32]
}
external
{
[set(0), binding(0)] read_texture: texture2D[f32, readonly, rgba8],
[set(0), binding(1)] read_ssbo: storage[SSBO, readonly],
}
[entry(compute)]
[workgroup(16, 16, 1)]
fn main(input: Input)
{
}

View File

@@ -0,0 +1,33 @@
[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_texture: texture2D[f32, readonly, rgba8],
[binding(1)] read_ssbo: storage[SSBO, readonly],
}
[set(1)]
external
{
[binding(0)] write_texture: texture2D[f32, rgba8],
[binding(1)] write_ssbo: storage[SSBO, writeonly],
}
[entry(compute)]
[workgroup(16, 16, 1)]
fn main(input: Input)
{
}

13
Tests/Shaders/Vulkan-OpenGL/Simple.nzsl git.filemode.normal_file
View File

@@ -0,0 +1,13 @@
[nzsl_version("1.0")]
module;
struct Input
{
[builtin(global_invocation_indices)] indices: vec3[u32]
}
[entry(compute)]
[workgroup(32, 32, 1)]
fn main(input: Input)
{
}

View File

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

View File

@@ -0,0 +1,26 @@
[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)] write_texture: texture2D[f32, readwrite, rgba8],
[binding(1)] write_ssbo: storage[SSBO],
}
[entry(compute)]
[workgroup(16, 16, 1)]
fn main(input: Input)
{
}