diff --git a/src/dawn/tests/DawnTest.cpp b/src/dawn/tests/DawnTest.cpp index 006036993a..fba2c2013f 100644 --- a/src/dawn/tests/DawnTest.cpp +++ b/src/dawn/tests/DawnTest.cpp @@ -451,7 +451,11 @@ std::unique_ptr DawnTestEnvironment::CreateInstanceAndDi if (!mANGLEBackend.empty()) { platform = mANGLEBackend.c_str(); } else { +#if defined(DAWN_PLATFORM_WINDOWS) + platform = "d3d11"; +#else platform = "swiftshader"; +#endif } angleDefaultPlatform.Set("ANGLE_DEFAULT_PLATFORM", platform); } diff --git a/src/dawn/tests/end2end/BindGroupTests.cpp b/src/dawn/tests/end2end/BindGroupTests.cpp index e9dfc6c88e..7704efd6e2 100644 --- a/src/dawn/tests/end2end/BindGroupTests.cpp +++ b/src/dawn/tests/end2end/BindGroupTests.cpp @@ -553,6 +553,9 @@ TEST_P(BindGroupTests, MultipleEntryPointsWithMultipleNonZeroGroups) { // This test reproduces an out-of-bound bug on D3D12 backends when calling draw command twice with // one pipeline that has 4 bind group sets in one render pass. TEST_P(BindGroupTests, DrawTwiceInSamePipelineWithFourBindGroupSets) { + // TODO(anglebug.com/7304): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); wgpu::BindGroupLayout layout = utils::MakeBindGroupLayout( @@ -782,6 +785,9 @@ TEST_P(BindGroupTests, BindGroupsPersistAfterPipelineChange) { // Do a successful draw. Then, change the pipeline and one bind group. // Draw to check that the all bind groups are set. TEST_P(BindGroupTests, DrawThenChangePipelineAndBindGroup) { + // TODO(anglebug.com/3032): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize); // Create a bind group layout which uses a single dynamic uniform buffer. @@ -1230,6 +1236,9 @@ TEST_P(BindGroupTests, DynamicBindingNoneVisibility) { // Test that bind group bindings may have unbounded and arbitrary binding numbers TEST_P(BindGroupTests, ArbitraryBindingNumbers) { + // TODO(anglebug.com/7305): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + // TODO(crbug.com/dawn/736): Test output is wrong with D3D12 + WARP. DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP()); diff --git a/src/dawn/tests/end2end/ComputeCopyStorageBufferTests.cpp b/src/dawn/tests/end2end/ComputeCopyStorageBufferTests.cpp index 13252023cd..3cdaf49f47 100644 --- a/src/dawn/tests/end2end/ComputeCopyStorageBufferTests.cpp +++ b/src/dawn/tests/end2end/ComputeCopyStorageBufferTests.cpp @@ -105,6 +105,9 @@ TEST_P(ComputeCopyStorageBufferTests, SizedArrayOfBasic) { // Test that a slightly-less-trivial compute-shader memcpy implementation works. TEST_P(ComputeCopyStorageBufferTests, SizedArrayOfStruct) { + // TODO(anglebug.com/7271): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + BasicTest(R"( struct S { a : vec2, diff --git a/src/dawn/tests/end2end/ComputeSharedMemoryTests.cpp b/src/dawn/tests/end2end/ComputeSharedMemoryTests.cpp index d7f161a681..7afaeea727 100644 --- a/src/dawn/tests/end2end/ComputeSharedMemoryTests.cpp +++ b/src/dawn/tests/end2end/ComputeSharedMemoryTests.cpp @@ -104,6 +104,9 @@ TEST_P(ComputeSharedMemoryTests, Basic) { // for matrices in threadgroup memory. Basic test that reading and // writing a matrix in workgroup memory works. TEST_P(ComputeSharedMemoryTests, AssortedTypes) { + // TODO(anglebug.com/7226): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + wgpu::ComputePipelineDescriptor csDesc; csDesc.compute.module = utils::CreateShaderModule(device, R"( struct StructValues { diff --git a/src/dawn/tests/end2end/ComputeStorageBufferBarrierTests.cpp b/src/dawn/tests/end2end/ComputeStorageBufferBarrierTests.cpp index c8a9f5158d..5b2f1bda5f 100644 --- a/src/dawn/tests/end2end/ComputeStorageBufferBarrierTests.cpp +++ b/src/dawn/tests/end2end/ComputeStorageBufferBarrierTests.cpp @@ -340,6 +340,9 @@ TEST_P(ComputeStorageBufferBarrierTests, UniformToStorageAddPingPongInOnePass) { // 2 - Write ones into it with a compute shader. // 3 - Use the indirect buffer in a Dispatch while also reading its data. TEST_P(ComputeStorageBufferBarrierTests, IndirectBufferCorrectBarrier) { + // TODO(anglebug.com/7226): fix failure in ANGLE/D3D11 + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows()); + wgpu::ComputePipelineDescriptor step2PipelineDesc; step2PipelineDesc.compute.entryPoint = "main"; step2PipelineDesc.compute.module = utils::CreateShaderModule(device, R"( diff --git a/src/dawn/tests/end2end/CopyTests.cpp b/src/dawn/tests/end2end/CopyTests.cpp index 295ad526fe..c0cba981cc 100644 --- a/src/dawn/tests/end2end/CopyTests.cpp +++ b/src/dawn/tests/end2end/CopyTests.cpp @@ -2290,6 +2290,9 @@ TEST_P(CopyTests_T2T, Texture3DSameTextureDifferentMipLevels) { // Test that copying whole 3D texture to a 2D array in one texture-to-texture-copy works. TEST_P(CopyTests_T2T, Texture3DTo2DArrayFull) { + // TODO(crbug.com/dawn/1425): Remove this suppression. + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows() && IsIntel()); + constexpr uint32_t kWidth = 256; constexpr uint32_t kHeight = 128; constexpr uint32_t kDepth = 6u; @@ -2307,6 +2310,9 @@ TEST_P(CopyTests_T2T, Texture3DAnd2DArraySubRegion) { // TODO(crbug.com/dawn/1216): Remove this suppression. DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia()); + // TODO(crbug.com/dawn/1426): Remove this suppression. + DAWN_SUPPRESS_TEST_IF(IsANGLE() && IsWindows() && IsIntel()); + constexpr uint32_t kWidth = 8; constexpr uint32_t kHeight = 4; constexpr uint32_t kDepth = 2u; diff --git a/src/dawn/tests/end2end/DepthStencilCopyTests.cpp b/src/dawn/tests/end2end/DepthStencilCopyTests.cpp index aef6c3c5e9..1e9130688c 100644 --- a/src/dawn/tests/end2end/DepthStencilCopyTests.cpp +++ b/src/dawn/tests/end2end/DepthStencilCopyTests.cpp @@ -437,9 +437,9 @@ TEST_P(DepthCopyTests, FromDepthAspect) { DAWN_TEST_UNSUPPORTED_IF(GetParam().mTextureFormat == wgpu::TextureFormat::Depth16Unorm && (IsOpenGL() || IsOpenGLES())); - // TODO(crbug.com/dawn/1291): These tests are failing on NVidia GLES + // TODO(crbug.com/dawn/1291): These tests are failing on GLES (both native and ANGLE) // when using Tint/GLSL. - DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES() && IsNvidia()); + DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES()); constexpr uint32_t kWidth = 4; constexpr uint32_t kHeight = 4; @@ -480,9 +480,9 @@ TEST_P(DepthCopyTests, FromNonZeroMipDepthAspect) { DAWN_TEST_UNSUPPORTED_IF(GetParam().mTextureFormat == wgpu::TextureFormat::Depth16Unorm && (IsOpenGL() || IsOpenGLES())); - // TODO(crbug.com/dawn/1291): These tests are failing on NVidia GLES + // TODO(crbug.com/dawn/1291): These tests are failing on GLES (both native and ANGLE) // when using Tint/GLSL. - DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES() && IsNvidia()); + DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES()); wgpu::Texture depthTexture = CreateDepthTexture( 9, 9, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc, 2); diff --git a/src/dawn/tests/end2end/DepthStencilSamplingTests.cpp b/src/dawn/tests/end2end/DepthStencilSamplingTests.cpp index 574573cb35..9010acf113 100644 --- a/src/dawn/tests/end2end/DepthStencilSamplingTests.cpp +++ b/src/dawn/tests/end2end/DepthStencilSamplingTests.cpp @@ -606,8 +606,8 @@ class DepthStencilSamplingTest : public DawnTestWithParams, 20> } // Test that WGSL built-in variable @sample_index can be used in fragment shaders. TEST_P(ShaderTests, SampleIndex) { + // TODO(crbug.com/dawn/673): Work around or enforce via validation that sample variables are not + // supported on some platforms. + DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables")); + wgpu::ShaderModule vsModule = utils::CreateShaderModule(device, R"( @stage(vertex) fn main(@location(0) pos : vec4) -> @builtin(position) vec4 {