Reenable / delete DISABLED tests.

- We use Tint unconditionally so binding reflection is now correct.
 - WGSL disallows textureSampleCompare in compute shaders and is not
   likely to change.
 - We now support reading back stencil in tests.

Bug: dawn:439, dawn:667, dawn:216, dawn:704
Change-Id: I7ba0026bb906ce985abb495581b56977da7be2da
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/63680
Reviewed-by: Brandon Jones <bajones@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
Corentin Wallez 2021-09-10 14:56:09 +00:00 committed by Dawn LUCI CQ
parent 08949a3fe7
commit 7a446220a1
3 changed files with 17 additions and 30 deletions

View File

@ -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(),

View File

@ -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<uint8_t> 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);
}

View File

@ -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<f32>;