summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/webgpu/01_webgpu.js4
-rw-r--r--tests/testdata/webgpu/hellotriangle_shader.wgsl9
-rw-r--r--tests/unit/webgpu_test.ts8
3 files changed, 21 insertions, 0 deletions
diff --git a/ext/webgpu/01_webgpu.js b/ext/webgpu/01_webgpu.js
index e12e8699d..15b82a8e3 100644
--- a/ext/webgpu/01_webgpu.js
+++ b/ext/webgpu/01_webgpu.js
@@ -1490,6 +1490,7 @@ class GPUDevice extends EventTarget {
fragment = {
module,
entryPoint: descriptor.fragment.entryPoint,
+ constants: descriptor.fragment.constants,
targets: descriptor.fragment.targets,
};
}
@@ -1501,6 +1502,7 @@ class GPUDevice extends EventTarget {
vertex: {
module,
entryPoint: descriptor.vertex.entryPoint,
+ constants: descriptor.vertex.constants,
buffers: descriptor.vertex.buffers,
},
primitive: descriptor.primitive,
@@ -1638,6 +1640,7 @@ class GPUDevice extends EventTarget {
fragment = {
module,
entryPoint: descriptor.fragment.entryPoint,
+ constants: descriptor.fragment.constants,
targets: descriptor.fragment.targets,
};
}
@@ -1649,6 +1652,7 @@ class GPUDevice extends EventTarget {
vertex: {
module,
entryPoint: descriptor.vertex.entryPoint,
+ constants: descriptor.vertex.constants,
buffers: descriptor.vertex.buffers,
},
primitive: descriptor.primitive,
diff --git a/tests/testdata/webgpu/hellotriangle_shader.wgsl b/tests/testdata/webgpu/hellotriangle_shader.wgsl
index f84ccfe94..9359c11ad 100644
--- a/tests/testdata/webgpu/hellotriangle_shader.wgsl
+++ b/tests/testdata/webgpu/hellotriangle_shader.wgsl
@@ -1,5 +1,11 @@
+// only test purpose
+override value: f32;
+
@vertex
fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) vec4<f32> {
+ // only test purpose
+ _ = value;
+
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);
@@ -7,5 +13,8 @@ fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) ve
@fragment
fn fs_main() -> @location(0) vec4<f32> {
+ // only test purpose
+ _ = value;
+
return vec4<f32>(1.0, 0.0, 0.0, 1.0);
}
diff --git a/tests/unit/webgpu_test.ts b/tests/unit/webgpu_test.ts
index 9947ea32b..43b24e41a 100644
--- a/tests/unit/webgpu_test.ts
+++ b/tests/unit/webgpu_test.ts
@@ -129,10 +129,18 @@ Deno.test({
vertex: {
module: shaderModule,
entryPoint: "vs_main",
+ // only test purpose
+ constants: {
+ value: 0.5,
+ },
},
fragment: {
module: shaderModule,
entryPoint: "fs_main",
+ // only test purpose
+ constants: {
+ value: 0.5,
+ },
targets: [
{
format: "rgba8unorm-srgb",