Enable several end2end tests that can pass on current try bots
This patch enables several dawn_end2end_tests that can pass on the
current try bots with newer OS and drivers.
Fixed: 42241972, 42241709, 345758016, 42241975, 42241977, 42241973
42241976, 41479532, 42240406, 42241971, 42241970, 42240109
Change-Id: Ide5cccbccc7b649c8ef4d82b41770ba011e49651
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/178341
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
diff --git a/src/dawn/tests/end2end/BindGroupTests.cpp b/src/dawn/tests/end2end/BindGroupTests.cpp
index b88e750..89db8eb 100644
--- a/src/dawn/tests/end2end/BindGroupTests.cpp
+++ b/src/dawn/tests/end2end/BindGroupTests.cpp
@@ -1163,9 +1163,6 @@
// conflict. This can happen if the backend treats dynamic bindings separately from non-dynamic
// bindings.
TEST_P(BindGroupTests, DynamicAndNonDynamicBindingsDoNotConflictAfterRemapping) {
- // // TODO(crbug.com/dawn/1106): Test output is wrong on D3D12 using WARP.
- DAWN_SUPPRESS_TEST_IF(IsWARP());
-
auto RunTestWith = [&](bool dynamicBufferFirst) {
uint32_t dynamicBufferBindingNumber = dynamicBufferFirst ? 0 : 1;
uint32_t bufferBindingNumber = dynamicBufferFirst ? 1 : 0;
@@ -1329,9 +1326,6 @@
// Test that bind group bindings may have unbounded and arbitrary binding numbers
TEST_P(BindGroupTests, ArbitraryBindingNumbers) {
- // TODO(crbug.com/dawn/736): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
-
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
wgpu::ShaderModule vsModule = utils::CreateShaderModule(device, R"(
diff --git a/src/dawn/tests/end2end/DepthStencilStateTests.cpp b/src/dawn/tests/end2end/DepthStencilStateTests.cpp
index bca6738..4d31b3c 100644
--- a/src/dawn/tests/end2end/DepthStencilStateTests.cpp
+++ b/src/dawn/tests/end2end/DepthStencilStateTests.cpp
@@ -42,9 +42,6 @@
void SetUp() override {
DawnTest::SetUp();
- // TODO(crbug.com/dawn/737): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
-
wgpu::TextureDescriptor renderTargetDescriptor;
renderTargetDescriptor.dimension = wgpu::TextureDimension::e2D;
renderTargetDescriptor.size.width = kRTSize;
diff --git a/src/dawn/tests/end2end/MaxLimitTests.cpp b/src/dawn/tests/end2end/MaxLimitTests.cpp
index 01de04d..f508ef1 100644
--- a/src/dawn/tests/end2end/MaxLimitTests.cpp
+++ b/src/dawn/tests/end2end/MaxLimitTests.cpp
@@ -549,10 +549,6 @@
// used correctly. The test loads a different value from each binding, and writes 1 to a storage
// buffer if all values are correct.
TEST_P(MaxLimitTests, ReallyLargeBindGroup) {
- // TODO(crbug.com/345758016): VVL produces a false-positive WAR hazard for this test.
- // Remove this suppression once the issue is fixed.
- DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
-
// TODO(crbug.com/dawn/590): Crashing on ANGLE/D3D11.
DAWN_SUPPRESS_TEST_IF(IsANGLED3D11());
diff --git a/src/dawn/tests/end2end/MultisampledRenderingTests.cpp b/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
index 9cdd67e..9d237c3 100644
--- a/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
+++ b/src/dawn/tests/end2end/MultisampledRenderingTests.cpp
@@ -50,9 +50,6 @@
void SetUp() override {
DawnTest::SetUp();
- // TODO(crbug.com/dawn/738): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
-
InitTexturesForTest();
}
@@ -484,9 +481,6 @@
// Test doing MSAA resolve into multiple resolve targets works correctly.
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
- // TODO(dawn:462): Issue in the D3D12 validation layers.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
-
// TODO(dawn:1550) Workaround introduces a bug on Qualcomm GPUs, but is necessary for ARM GPUs.
DAWN_TEST_UNSUPPORTED_IF(IsAndroid() && IsQualcomm() &&
HasToggleEnabled("resolve_multiple_attachments_in_separate_passes"));
@@ -656,9 +650,6 @@
// Test using a layer of a 2D texture as resolve target works correctly.
TEST_P(MultisampledRenderingTest, ResolveIntoOneMipmapLevelOf2DTexture) {
- // TODO(dawn:462): Issue in the D3D12 validation layers.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
-
constexpr uint32_t kBaseMipLevel = 2;
wgpu::TextureViewDescriptor textureViewDescriptor;
@@ -694,9 +685,6 @@
// Test using a level or a layer of a 2D array texture as resolve target works correctly.
TEST_P(MultisampledRenderingTest, ResolveInto2DArrayTexture) {
- // TODO(dawn:462): Issue in the D3D12 validation layers.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
-
// TODO(dawn:1550) Workaround introduces a bug on Qualcomm GPUs, but is necessary for ARM GPUs.
DAWN_TEST_UNSUPPORTED_IF(IsAndroid() && IsQualcomm() &&
HasToggleEnabled("resolve_multiple_attachments_in_separate_passes"));
diff --git a/src/dawn/tests/end2end/MultithreadTests.cpp b/src/dawn/tests/end2end/MultithreadTests.cpp
index 392d552..60e7045 100644
--- a/src/dawn/tests/end2end/MultithreadTests.cpp
+++ b/src/dawn/tests/end2end/MultithreadTests.cpp
@@ -744,9 +744,6 @@
// Test that encoding render passes that resolve to a mip level in parallel should work
TEST_P(MultithreadEncodingTests, RenderPassEncoders_ResolveToMipLevelOne_InParallel) {
- // TODO(dawn:462): Issue in the D3D12 validation layers.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
-
constexpr uint32_t kRTSize = 16;
constexpr uint32_t kNumThreads = 10;
diff --git a/src/dawn/tests/end2end/SamplerFilterAnisotropicTests.cpp b/src/dawn/tests/end2end/SamplerFilterAnisotropicTests.cpp
index 352d51d..db3e516 100644
--- a/src/dawn/tests/end2end/SamplerFilterAnisotropicTests.cpp
+++ b/src/dawn/tests/end2end/SamplerFilterAnisotropicTests.cpp
@@ -291,9 +291,6 @@
};
TEST_P(SamplerFilterAnisotropicTest, SlantedPlaneMipmap) {
- // TODO(crbug.com/dawn/740): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
-
const uint16_t maxAnisotropyLists[] = {1, 2, 16, 128};
for (uint16_t t : maxAnisotropyLists) {
TestFilterAnisotropic(t);
diff --git a/src/dawn/tests/end2end/Texture3DTests.cpp b/src/dawn/tests/end2end/Texture3DTests.cpp
index 7d421a5..f9696b5 100644
--- a/src/dawn/tests/end2end/Texture3DTests.cpp
+++ b/src/dawn/tests/end2end/Texture3DTests.cpp
@@ -137,10 +137,6 @@
// Regression test for crbug.com/dawn/2072 where the WSize of D3D UAV descriptor ends up being 0.
// (which is invalid as noted by the debug layers)
TEST_P(Texture3DTests, LatestMipClampsDepthSizeForStorageTextures) {
- // TODO(crbug.com/345758016): VVL produces a false-positive WAR hazard for this test.
- // Remove this suppression once the issue is fixed.
- DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
-
wgpu::TextureDescriptor tDesc;
tDesc.dimension = wgpu::TextureDimension::e3D;
tDesc.size = {2, 2, 1};
diff --git a/src/dawn/tests/end2end/TextureZeroInitTests.cpp b/src/dawn/tests/end2end/TextureZeroInitTests.cpp
index 66edb7b..a7d3c6c 100644
--- a/src/dawn/tests/end2end/TextureZeroInitTests.cpp
+++ b/src/dawn/tests/end2end/TextureZeroInitTests.cpp
@@ -515,9 +515,6 @@
// This tests the texture with depth attachment and load op load will init depth stencil texture to
// 0s.
TEST_P(TextureZeroInitTest, RenderingLoadingDepth) {
- // TODO(crbug.com/dawn/1423): Investigate why this test fails on Windows Vulkan drivers
- DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan());
-
wgpu::TextureDescriptor srcDescriptor =
CreateTextureDescriptor(1, 1,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst |
@@ -560,9 +557,6 @@
// This tests the texture with stencil attachment and load op load will init depth stencil texture
// to 0s.
TEST_P(TextureZeroInitTest, RenderingLoadingStencil) {
- // TODO(crbug.com/dawn/1423): Investigate why this test fails on Windows Vulkan drivers
- DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan());
-
wgpu::TextureDescriptor srcDescriptor =
CreateTextureDescriptor(1, 1,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst |
@@ -605,9 +599,6 @@
// This tests the texture with depth stencil attachment and load op load will init depth stencil
// texture to 0s.
TEST_P(TextureZeroInitTest, RenderingLoadingDepthStencil) {
- // TODO(crbug.com/dawn/1423): Investigate why this test fails on Windows Vulkan drivers
- DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan());
-
wgpu::TextureDescriptor srcDescriptor =
CreateTextureDescriptor(1, 1,
wgpu::TextureUsage::CopySrc | wgpu::TextureUsage::CopyDst |
diff --git a/src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp b/src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp
index 5080a38..8a53b72 100644
--- a/src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp
+++ b/src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp
@@ -524,9 +524,6 @@
DAWN_TEST_UNSUPPORTED_IF(
!mD3DDevice->IsToggleEnabled(native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
- // TODO(crbug.com/dawn/742): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
-
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
utils::ComboRenderPipelineDescriptor pipelineDescriptor;
diff --git a/src/dawn/tests/white_box/D3D12ResidencyTests.cpp b/src/dawn/tests/white_box/D3D12ResidencyTests.cpp
index ebef69c..6fe8310 100644
--- a/src/dawn/tests/white_box/D3D12ResidencyTests.cpp
+++ b/src/dawn/tests/white_box/D3D12ResidencyTests.cpp
@@ -346,10 +346,6 @@
// Checks that when a descriptor heap is bound, it is locked resident. Also checks that when a
// previous descriptor heap becomes unbound, it is unlocked, placed in the LRU and can be evicted.
TEST_P(D3D12DescriptorResidencyTests, SwitchedViewHeapResidency) {
- // TODO(crbug.com/dawn/739):
- // unknown file: error: SEH exception with code 0x87d thrown in the test body.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP() && IsBackendValidationEnabled());
-
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor;
// Fill in a view heap with "view only" bindgroups (1x view per group) by creating a
diff --git a/src/dawn/tests/white_box/QueryInternalShaderTests.cpp b/src/dawn/tests/white_box/QueryInternalShaderTests.cpp
index c4a70c1..f230d94 100644
--- a/src/dawn/tests/white_box/QueryInternalShaderTests.cpp
+++ b/src/dawn/tests/white_box/QueryInternalShaderTests.cpp
@@ -237,12 +237,6 @@
// timestamp period (here use GPU frequency (HZ) on Intel D3D12 to calculate the period in
// ns for testing).
TEST_P(QueryInternalShaderTests, TimestampComputeShaderMultiplication) {
- // TODO(crbug.com/dawn/741): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
- // TODO(crbug.com/dawn/1617): VUID-vkUpdateDescriptorSets-None-03047 on UHD630
- // driver 31.0.101.2111
- DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
-
constexpr std::array<float, 5> kPeriodsToTest = {
1,
7,
@@ -271,11 +265,6 @@
TEST_P(QueryInternalShaderTests, TimestampComputeShaderQuantization) {
DAWN_TEST_UNSUPPORTED_IF(!HasToggleEnabled("timestamp_quantization"));
- // TODO(crbug.com/dawn/741): Test output is wrong with D3D12 + WARP.
- DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
- // TODO(crbug.com/dawn/1617): VUID-vkUpdateDescriptorSets-None-03047 on UHD630
- // driver 31.0.101.2111
- DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
constexpr std::array<uint32_t, 3> kQuantizationMasksToTest = {
0xFFFFFFFF,