Skip several dawn_end2end_tests on specific platforms

Bug: dawn:1423, dawn:1429
Test: dawn_end2end_tests
Change-Id: Idc9d573f02f7ef70d1901a786e73d362d60697bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/91064
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/dawn/tests/DawnTest.cpp b/src/dawn/tests/DawnTest.cpp
index fba2c20..01593b5 100644
--- a/src/dawn/tests/DawnTest.cpp
+++ b/src/dawn/tests/DawnTest.cpp
@@ -831,6 +831,10 @@
     return gTestEnv->GetBackendValidationLevel() != dawn::native::BackendValidationLevel::Disabled;
 }
 
+bool DawnTestBase::IsFullBackendValidationEnabled() const {
+    return gTestEnv->GetBackendValidationLevel() == dawn::native::BackendValidationLevel::Full;
+}
+
 bool DawnTestBase::RunSuppressedTests() const {
     return gTestEnv->RunSuppressedTests();
 }
diff --git a/src/dawn/tests/DawnTest.h b/src/dawn/tests/DawnTest.h
index c917fe3..513fb73 100644
--- a/src/dawn/tests/DawnTest.h
+++ b/src/dawn/tests/DawnTest.h
@@ -309,6 +309,7 @@
 
     bool UsesWire() const;
     bool IsBackendValidationEnabled() const;
+    bool IsFullBackendValidationEnabled() const;
     bool RunSuppressedTests() const;
 
     bool IsDXC() const;
diff --git a/src/dawn/tests/end2end/ComputeDispatchTests.cpp b/src/dawn/tests/end2end/ComputeDispatchTests.cpp
index 4e089f8..1568a28 100644
--- a/src/dawn/tests/end2end/ComputeDispatchTests.cpp
+++ b/src/dawn/tests/end2end/ComputeDispatchTests.cpp
@@ -219,7 +219,7 @@
     DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia());
 #endif
     // TODO(crbug.com/dawn/1262): Fails with the full validation turned on.
-    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
+    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsFullBackendValidationEnabled());
 
     IndirectTest({2, 3, 4}, 0);
 }
@@ -251,7 +251,7 @@
     DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia());
 #endif
     // TODO(crbug.com/dawn/1262): Fails with the full validation turned on.
-    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
+    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsFullBackendValidationEnabled());
 
     IndirectTest({0, 0, 0, 2, 3, 4}, 3 * sizeof(uint32_t));
 }
@@ -268,7 +268,7 @@
     DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia());
 #endif
     // TODO(crbug.com/dawn/1262): Fails with the full validation turned on.
-    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
+    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsFullBackendValidationEnabled());
 
     // TODO(crbug.com/dawn/1165): Fails with WARP
     DAWN_SUPPRESS_TEST_IF(IsWARP());
diff --git a/src/dawn/tests/end2end/FirstIndexOffsetTests.cpp b/src/dawn/tests/end2end/FirstIndexOffsetTests.cpp
index 768db35..c06416f 100644
--- a/src/dawn/tests/end2end/FirstIndexOffsetTests.cpp
+++ b/src/dawn/tests/end2end/FirstIndexOffsetTests.cpp
@@ -280,6 +280,8 @@
 
 // Test that vertex_index starts at 7 when drawn using DrawIndirect()
 TEST_P(FirstIndexOffsetTests, NonIndexedIndirectVertexOffset) {
+    // TODO(crbug.com/dawn/1429): Fails with the full validation turned on.
+    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsFullBackendValidationEnabled());
     TestVertexIndex(DrawMode::NonIndexedIndirect, 7);
 }
 
@@ -296,6 +298,8 @@
 
 // Test that vertex_index starts at 7 when drawn using DrawIndexedIndirect()
 TEST_P(FirstIndexOffsetTests, IndexedIndirectVertex) {
+    // TODO(crbug.com/dawn/1429): Fails with the full validation turned on.
+    DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsFullBackendValidationEnabled());
     TestVertexIndex(DrawMode::IndexedIndirect, 7);
 }
 
diff --git a/src/dawn/tests/end2end/TextureZeroInitTests.cpp b/src/dawn/tests/end2end/TextureZeroInitTests.cpp
index aa30357..2e545b1 100644
--- a/src/dawn/tests/end2end/TextureZeroInitTests.cpp
+++ b/src/dawn/tests/end2end/TextureZeroInitTests.cpp
@@ -469,6 +469,9 @@
 // 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 |
@@ -511,6 +514,9 @@
 // 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 |
@@ -553,6 +559,9 @@
 // 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 |