diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/testdata/webgpu_computepass_shader.wgsl | 16 | ||||
-rw-r--r-- | cli/tests/testdata/webgpu_hellotriangle_shader.wgsl | 9 | ||||
-rw-r--r-- | cli/tests/unit/webgpu_test.ts | 10 |
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( { |