Skip several end2end tests

This patch skips several flaky and failed tests on the related Dawn
backends.
1. Tests on all integer/unsigned integer formats in TextureFormatTest on
   Intel OpenGL drivers.
2. All CompressedTextureBCFormatTest tests on Intel Vulkan Windows
   drivers.
3. BufferSetSubDataTests/ManySetSubData on Intel Vulkan Linux drivers.

BUG=dawn:128, dawn:199, chromium:980737

Change-Id: Ia8912804ea762b458be0b48d9df341ff7637f608
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9800
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/src/tests/end2end/BufferTests.cpp b/src/tests/end2end/BufferTests.cpp
index 9315583..d6a5aae 100644
--- a/src/tests/end2end/BufferTests.cpp
+++ b/src/tests/end2end/BufferTests.cpp
@@ -214,6 +214,10 @@
     // executing these commands in-flight. If this takes longer than ~2s, a device reset occurs and
     // fails the test. Since GPUs may or may not complete by then, this test must be disabled OR
     // modified to be well-below the timeout limit.
+
+    // TODO (jiawei.shao@intel.com): find out why this test fails on Intel Vulkan Linux bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsLinux());
+
     constexpr uint64_t kSize = 4000 * 1000;
     constexpr uint32_t kElements = 500 * 500;
     dawn::BufferDescriptor descriptor;
diff --git a/src/tests/end2end/CompressedTextureFormatTests.cpp b/src/tests/end2end/CompressedTextureFormatTests.cpp
index c19b6ad..776e0ec 100644
--- a/src/tests/end2end/CompressedTextureFormatTests.cpp
+++ b/src/tests/end2end/CompressedTextureFormatTests.cpp
@@ -445,6 +445,10 @@
 
 // Test copying into the whole BC texture with 2x2 blocks and sampling from it.
 TEST_P(CompressedTextureBCFormatTest, Basic) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -460,6 +464,10 @@
 
 // Test copying into a sub-region of a texture with BC formats works correctly.
 TEST_P(CompressedTextureBCFormatTest, CopyIntoSubRegion) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -480,6 +488,10 @@
 
 // Test using rowPitch == 0 in the copies with BC formats works correctly.
 TEST_P(CompressedTextureBCFormatTest, CopyWithZeroRowPitch) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -499,6 +511,10 @@
 
 // Test copying into the non-zero layer of a 2D array texture with BC formats works correctly.
 TEST_P(CompressedTextureBCFormatTest, CopyIntoNonZeroArrayLayer) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -519,6 +535,10 @@
 
 // Test copying into a non-zero mipmap level of a texture with BC texture formats.
 TEST_P(CompressedTextureBCFormatTest, CopyBufferIntoNonZeroMipmapLevel) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -552,6 +572,10 @@
 
 // Test texture-to-texture whole-size copies with BC formats.
 TEST_P(CompressedTextureBCFormatTest, CopyWholeTextureSubResourceIntoNonZeroMipmapLevel) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     // TODO(cwallez@chromium.org): This consistently fails on with the 12th pixel being opaque black
@@ -691,6 +715,10 @@
 // Test the special case of the B2T copies on the D3D12 backend that the buffer offset and texture
 // extent exactly fit the RowPitch.
 TEST_P(CompressedTextureBCFormatTest, BufferOffsetAndExtentFitRowPitch) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -718,6 +746,10 @@
 // backend the texelOffset.y will be greater than 0 after calcuting the texelOffset in the function
 // ComputeTexelOffsets().
 TEST_P(CompressedTextureBCFormatTest, BufferOffsetExceedsSlicePitch) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -746,6 +778,10 @@
 // Test the special case of the B2T copies on the D3D12 backend that the buffer offset and texture
 // extent exceed the RowPitch. On D3D12 backend two copies are required for this case.
 TEST_P(CompressedTextureBCFormatTest, CopyWithBufferOffsetAndExtentExceedRowPitch) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -774,6 +810,10 @@
 // rowPitch. On D3D12 backend the texelOffset.z will be greater than 0 after calcuting the
 // texelOffset in the function ComputeTexelOffsets().
 TEST_P(CompressedTextureBCFormatTest, RowPitchEqualToSlicePitch) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -802,6 +842,10 @@
 // copyExtent.depth) on Metal backends. As copyExtent.depth can only be 1 for BC formats, on Metal
 // backend we will use two copies to implement such copy.
 TEST_P(CompressedTextureBCFormatTest, LargeImageHeight) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
@@ -820,6 +864,10 @@
 // Test the workaround in the B2T copies when (bufferSize - bufferOffset < bytesPerImage *
 // copyExtent.depth) and copyExtent needs to be clamped.
 TEST_P(CompressedTextureBCFormatTest, LargeImageHeightAndClampedCopyExtent) {
+    // TODO(jiawei.shao@intel.com): find out why this test is flaky on Windows Intel Vulkan wire
+    // bots.
+    DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
+
     DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
 
     CopyConfig config;
diff --git a/src/tests/end2end/TextureFormatTests.cpp b/src/tests/end2end/TextureFormatTests.cpp
index fb69740..674c5ca 100644
--- a/src/tests/end2end/TextureFormatTests.cpp
+++ b/src/tests/end2end/TextureFormatTests.cpp
@@ -533,144 +533,144 @@
 
 // Test the R8Uint format
 TEST_P(TextureFormatTest, R8Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint8_t>({dawn::TextureFormat::R8Uint, 1, Uint, 1});
 }
 
 // Test the RG8Uint format
 TEST_P(TextureFormatTest, RG8Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint8_t>({dawn::TextureFormat::RG8Uint, 2, Uint, 2});
 }
 
 // Test the RGBA8Uint format
 TEST_P(TextureFormatTest, RGBA8Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint8_t>({dawn::TextureFormat::RGBA8Uint, 4, Uint, 4});
 }
 
 // Test the R16Uint format
 TEST_P(TextureFormatTest, R16Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint16_t>({dawn::TextureFormat::R16Uint, 2, Uint, 1});
 }
 
 // Test the RG16Uint format
 TEST_P(TextureFormatTest, RG16Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint16_t>({dawn::TextureFormat::RG16Uint, 4, Uint, 2});
 }
 
 // Test the RGBA16Uint format
 TEST_P(TextureFormatTest, RGBA16Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint16_t>({dawn::TextureFormat::RGBA16Uint, 8, Uint, 4});
 }
 
 // Test the R32Uint format
 TEST_P(TextureFormatTest, R32Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint32_t>({dawn::TextureFormat::R32Uint, 4, Uint, 1});
 }
 
 // Test the RG32Uint format
 TEST_P(TextureFormatTest, RG32Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint32_t>({dawn::TextureFormat::RG32Uint, 8, Uint, 2});
 }
 
 // Test the RGBA32Uint format
 TEST_P(TextureFormatTest, RGBA32Uint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoUintTest<uint32_t>({dawn::TextureFormat::RGBA32Uint, 16, Uint, 4});
 }
 
 // Test the R8Sint format
 TEST_P(TextureFormatTest, R8Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int8_t>({dawn::TextureFormat::R8Sint, 1, Sint, 1});
 }
 
 // Test the RG8Sint format
 TEST_P(TextureFormatTest, RG8Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int8_t>({dawn::TextureFormat::RG8Sint, 2, Sint, 2});
 }
 
 // Test the RGBA8Sint format
 TEST_P(TextureFormatTest, RGBA8Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int8_t>({dawn::TextureFormat::RGBA8Sint, 4, Sint, 4});
 }
 
 // Test the R16Sint format
 TEST_P(TextureFormatTest, R16Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int16_t>({dawn::TextureFormat::R16Sint, 2, Sint, 1});
 }
 
 // Test the RG16Sint format
 TEST_P(TextureFormatTest, RG16Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int16_t>({dawn::TextureFormat::RG16Sint, 4, Sint, 2});
 }
 
 // Test the RGBA16Sint format
 TEST_P(TextureFormatTest, RGBA16Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int16_t>({dawn::TextureFormat::RGBA16Sint, 8, Sint, 4});
 }
 
 // Test the R32Sint format
 TEST_P(TextureFormatTest, R32Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int32_t>({dawn::TextureFormat::R32Sint, 4, Sint, 1});
 }
 
 // Test the RG32Sint format
 TEST_P(TextureFormatTest, RG32Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int32_t>({dawn::TextureFormat::RG32Sint, 8, Sint, 2});
 }
 
 // Test the RGBA32Sint format
 TEST_P(TextureFormatTest, RGBA32Sint) {
-    // TODO(cwallez@chromium.org): This fails on the Mesa Intel GL driver, understand why.
-    DAWN_SKIP_TEST_IF(IsOpenGL() && IsLinux() && IsIntel());
+    // TODO(cwallez@chromium.org): This fails on the Intel GL driver, understand why.
+    DAWN_SKIP_TEST_IF(IsOpenGL() && IsIntel());
 
     DoSintTest<int32_t>({dawn::TextureFormat::RGBA32Sint, 16, Sint, 4});
 }