diff --git a/src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts b/src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts index 161df7fa06cd..ca4a2479658e 100644 --- a/src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts +++ b/src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts @@ -6,6 +6,8 @@ Also tested: - The positions of samples in the standard sample patterns. - Per-sample interpolation sampling: @interpolate(perspective, sample). +TODO: Test sample_mask as an input. + TODO: add a test without a 0th color attachment (sparse color attachment), with different color attachments and alpha value output. The cross-platform behavior is unknown. could be any of: - coverage is always 100% diff --git a/src/webgpu/listing_meta.json b/src/webgpu/listing_meta.json index fc849d355b10..bae76a484c8b 100644 --- a/src/webgpu/listing_meta.json +++ b/src/webgpu/listing_meta.json @@ -1704,6 +1704,7 @@ "webgpu:shader,execution,shader_io,fragment_builtins:inputs,interStage,centroid:*": { "subcaseMS": 1.001 }, "webgpu:shader,execution,shader_io,fragment_builtins:inputs,position:*": { "subcaseMS": 1.001 }, "webgpu:shader,execution,shader_io,fragment_builtins:inputs,sample_index:*": { "subcaseMS": 1.001 }, + "webgpu:shader,execution,shader_io,fragment_builtins:inputs,sample_mask:*": { "subcaseMS": 0.050 }, "webgpu:shader,execution,shader_io,shared_structs:shared_between_stages:*": { "subcaseMS": 9.601 }, "webgpu:shader,execution,shader_io,shared_structs:shared_with_buffer:*": { "subcaseMS": 20.701 }, "webgpu:shader,execution,shader_io,shared_structs:shared_with_non_entry_point_function:*": { "subcaseMS": 6.801 }, diff --git a/src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts b/src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts index fe74d7efc2e5..333ced6272f7 100644 --- a/src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts +++ b/src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts @@ -9,8 +9,15 @@ Note: @interpolate settings and sample_index affect whether or not the fragment is evaluated per-fragment or per-sample. With @interpolate(, sample) or usage of @builtin(sample_index) the fragment shader should be executed per-sample. +* sample_mask output is tested in + src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts + +* frag_depth output is tested in + src/webgpu/api/operation/rendering/depth_clip_clamp.spec.ts + TODO: -* test frag_depth +* test sample_mask in + Consider extending the sample_mask out test. `; import { makeTestGroup } from '../../../../common/framework/test_group.js'; @@ -1210,3 +1217,8 @@ g.test('inputs,front_facing') }) ); }); + +// To test sample_mask as a fragment shader output, consider +// extending the tests in +// src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts +g.test('inputs,sample_mask').unimplemented();