diff --git a/src/tests/end2end/DepthStencilSamplingTests.cpp b/src/tests/end2end/DepthStencilSamplingTests.cpp index a0bd6d54e8..e65d2659c8 100644 --- a/src/tests/end2end/DepthStencilSamplingTests.cpp +++ b/src/tests/end2end/DepthStencilSamplingTests.cpp @@ -757,28 +757,6 @@ TEST_P(DepthStencilSamplingTest, CompareFunctionsRender) { } } -// Test that sampling in a render pipeline with all of the compare functions works. -// WGSL disallows |textureSampleCompare| in compute stages. -TEST_P(DepthStencilSamplingTest, DISABLED_CompareFunctionsCompute) { - // Initialization via renderPass loadOp doesn't work on Mac Intel. - DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel()); - - // Depends on Tint's shader reflection - DAWN_TEST_UNSUPPORTED_IF(!HasToggleEnabled("use_tint_generator")); - - wgpu::ComputePipeline pipeline = CreateComparisonComputePipeline(); - - for (wgpu::TextureFormat format : kDepthFormats) { - // Test a "normal" ref value between 0 and 1; as well as negative and > 1 refs. - for (float compareRef : kCompareRefs) { - // Test 0, below the ref, equal to, above the ref, and 1. - for (wgpu::CompareFunction f : kCompareFunctions) { - DoDepthCompareRefTest(pipeline, format, compareRef, f, kNormalizedTextureValues); - } - } - } -} - DAWN_INSTANTIATE_TEST(DepthStencilSamplingTest, D3D12Backend(), MetalBackend(), diff --git a/src/tests/end2end/SubresourceRenderAttachmentTests.cpp b/src/tests/end2end/SubresourceRenderAttachmentTests.cpp index 360f4e2e88..47ef741323 100644 --- a/src/tests/end2end/SubresourceRenderAttachmentTests.cpp +++ b/src/tests/end2end/SubresourceRenderAttachmentTests.cpp @@ -89,10 +89,13 @@ class SubresourceRenderAttachmentTest : public DawnTest { {renderTargetSize, renderTargetSize}, baseMipLevel); break; } - case Type::Stencil: - // TODO(crbug.com/dawn/439): sample / copy of the stencil aspect. - default: - UNREACHABLE(); + case Type::Stencil: { + std::vector expected(renderTargetSize * renderTargetSize, expectedStencil); + EXPECT_TEXTURE_EQ(expected.data(), renderTarget, {0, 0, baseArrayLayer}, + {renderTargetSize, renderTargetSize}, baseMipLevel, + wgpu::TextureAspect::StencilOnly); + break; + } } } @@ -149,8 +152,15 @@ TEST_P(SubresourceRenderAttachmentTest, DepthTexture) { } // Test rendering into a subresource of a stencil texture -// TODO(crbug.com/dawn/439): sample / copy of the stencil aspect. -TEST_P(SubresourceRenderAttachmentTest, DISABLED_StencilTexture) { +TEST_P(SubresourceRenderAttachmentTest, StencilTexture) { + // TODO(crbug.com/dawn/667): Work around the fact that some platforms are unable to read + // stencil. + DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_stencil_read")); + + // TODO(crbug.com/dawn/704): Readback after clear via stencil copy does not work + // on some Intel drivers. + DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel()); + DoTest(Type::Stencil); } diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp index 5efc8410d3..b52d50e729 100644 --- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp +++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp @@ -990,8 +990,7 @@ TEST_F(RenderPipelineValidationTest, UnwrittenFragmentOutputsMask0) { } // Test that fragment output validation is for the correct entryPoint -// TODO(dawn:216): Re-enable when we correctly reflect which bindings are used for an entryPoint. -TEST_F(RenderPipelineValidationTest, DISABLED_BindingsFromCorrectEntryPoint) { +TEST_F(RenderPipelineValidationTest, BindingsFromCorrectEntryPoint) { wgpu::ShaderModule module = utils::CreateShaderModule(device, R"( [[block]] struct Uniforms { data : vec4;