summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/testdata/webgpu_computepass_shader.wgsl16
-rw-r--r--cli/tests/testdata/webgpu_hellotriangle_shader.wgsl9
-rw-r--r--cli/tests/unit/webgpu_test.ts10
3 files changed, 18 insertions, 17 deletions
diff --git a/cli/tests/testdata/webgpu_computepass_shader.wgsl b/cli/tests/testdata/webgpu_computepass_shader.wgsl
index df541aff5..41af4363a 100644
--- a/cli/tests/testdata/webgpu_computepass_shader.wgsl
+++ b/cli/tests/testdata/webgpu_computepass_shader.wgsl
@@ -1,9 +1,6 @@
-struct PrimeIndices {
- data: [[stride(4)]] array<u32>;
-}; // this is used as both input and output for convenience
-
-[[group(0), binding(0)]]
-var<storage, read_write> v_indices: PrimeIndices;
+@group(0)
+@binding(0)
+var<storage, read_write> v_indices: array<u32>; // this is used as both input and output for convenience
// The Collatz Conjecture states that for any integer n:
// If n is even, n = n/2
@@ -34,7 +31,8 @@ fn collatz_iterations(n_base: u32) -> u32{
return i;
}
-[[stage(compute), workgroup_size(1)]]
-fn main([[builtin(global_invocation_id)]] global_id: vec3<u32>) {
- v_indices.data[global_id.x] = collatz_iterations(v_indices.data[global_id.x]);
+@compute
+@workgroup_size(1)
+fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
+ v_indices[global_id.x] = collatz_iterations(v_indices[global_id.x]);
}
diff --git a/cli/tests/testdata/webgpu_hellotriangle_shader.wgsl b/cli/tests/testdata/webgpu_hellotriangle_shader.wgsl
index b8b2b69fc..f84ccfe94 100644
--- a/cli/tests/testdata/webgpu_hellotriangle_shader.wgsl
+++ b/cli/tests/testdata/webgpu_hellotriangle_shader.wgsl
@@ -1,10 +1,11 @@
-[[stage(vertex)]]
-fn vs_main([[builtin(vertex_index)]] in_vertex_index: u32) -> [[builtin(position)]] vec4<f32> {
+@vertex
+fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) vec4<f32> {
let x = f32(i32(in_vertex_index) - 1);
let y = f32(i32(in_vertex_index & 1u) * 2 - 1);
return vec4<f32>(x, y, 0.0, 1.0);
}
-[[stage(fragment)]]
-fn fs_main() -> [[location(0)]] vec4<f32> {
+
+@fragment
+fn fs_main() -> @location(0) vec4<f32> {
return vec4<f32>(1.0, 0.0, 0.0, 1.0);
}
diff --git a/cli/tests/unit/webgpu_test.ts b/cli/tests/unit/webgpu_test.ts
index 6ecf27fd0..fa71ffcc8 100644
--- a/cli/tests/unit/webgpu_test.ts
+++ b/cli/tests/unit/webgpu_test.ts
@@ -56,6 +56,7 @@ Deno.test({
storageBuffer.unmap();
const computePipeline = device.createComputePipeline({
+ layout: "auto",
compute: {
module: shaderModule,
entryPoint: "main",
@@ -81,8 +82,8 @@ Deno.test({
computePass.setPipeline(computePipeline);
computePass.setBindGroup(0, bindGroup);
computePass.insertDebugMarker("compute collatz iterations");
- computePass.dispatch(numbers.length);
- computePass.endPass();
+ computePass.dispatchWorkgroups(numbers.length);
+ computePass.end();
encoder.copyBufferToBuffer(storageBuffer, 0, stagingBuffer, 0, size);
@@ -172,13 +173,14 @@ Deno.test({
{
view,
storeOp: "store",
- loadValue: [0, 1, 0, 1],
+ loadOp: "clear",
+ clearValue: [0, 1, 0, 1],
},
],
});
renderPass.setPipeline(renderPipeline);
renderPass.draw(3, 1);
- renderPass.endPass();
+ renderPass.end();
encoder.copyTextureToBuffer(
{