adding pipeline unit tests

This commit is contained in:
2025-02-21 22:41:22 +01:00
parent 2de2e1f381
commit b5abfe1589
14 changed files with 497 additions and 7 deletions

26
Tests/Vulkan/Shaders/BufferCopy.nzsl git.filemode.normal_file
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]
}
external
{
[set(0), binding(0)] read_ssbo: storage[SSBO, readonly],
[set(1), binding(0)] write_ssbo: storage[SSBO, writeonly],
}
[entry(compute)]
[workgroup(32, 32, 1)]
fn main(input: Input)
{
write_ssbo.data[input.indices.x * input.indices.y] = read_ssbo.data[input.indices.x * input.indices.y];
}

25
Tests/Vulkan/Shaders/ReadOnlyBindings.nzsl git.filemode.normal_file
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_ssbo: storage[SSBO, readonly],
[set(0), binding(1)] read_texture: texture2D[f32, readonly, rgba8],
}
[entry(compute)]
[workgroup(32, 32, 1)]
fn main(input: Input)
{
}

27
Tests/Vulkan/Shaders/ReadWriteBindings.nzsl git.filemode.normal_file
View File

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

13
Tests/Vulkan/Shaders/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)
{
}

25
Tests/Vulkan/Shaders/WriteOnlyBindings.nzsl git.filemode.normal_file
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(1), binding(0)] write_ssbo: storage[SSBO],
[set(1), binding(1)] write_texture: texture2D[f32, readonly, rgba8],
}
[entry(compute)]
[workgroup(32, 32, 1)]
fn main(input: Input)
{
}