Enable Win/Debug/WARP dawn_end2end_tests

Enables dawn_end2end_tests using WARP on Win/Debug testers. Because
this version of these tests is very slow, shard them aggressively.

Suppresses several tests that fail on this configuration.

Bug: 385317083, 450817278
Change-Id: Ie5d193586a3ba2e175f72fc1095caf2cce07289a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/265995
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@google.com>
diff --git a/infra/specs/ci.json b/infra/specs/ci.json
index 86d5172..7fed033 100644
--- a/infra/specs/ci.json
+++ b/infra/specs/ci.json
@@ -1290,6 +1290,31 @@
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
       },
       {
+        "args": [
+          "--adapter-vendor-id=0x1414"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_warp_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "cpu": "x86-64",
+            "gpu": "none",
+            "os": "Windows-10-19045",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
         "merge": {
           "script": "//scripts/merge_scripts/true_noop_merge.py"
         },
@@ -1460,7 +1485,8 @@
             "os": "Windows-10-19045",
             "pool": "chromium.tests.gpu"
           },
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
         },
         "test": "dawn_end2end_tests",
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1636,7 +1662,8 @@
             "os": "Windows-10-19045",
             "pool": "chromium.tests.gpu"
           },
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
         },
         "test": "dawn_end2end_tests",
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1812,7 +1839,8 @@
             "os": "Windows-10-19045",
             "pool": "chromium.tests.gpu"
           },
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
         },
         "test": "dawn_end2end_tests",
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1980,6 +2008,31 @@
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
       },
       {
+        "args": [
+          "--adapter-vendor-id=0x1414"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_warp_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "cpu": "x86-64",
+            "gpu": "none",
+            "os": "Windows-10-19045",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
         "merge": {
           "script": "//scripts/merge_scripts/true_noop_merge.py"
         },
@@ -2120,7 +2173,8 @@
             "os": "Windows-10-19045",
             "pool": "chromium.tests.gpu"
           },
-          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+          "shards": 6
         },
         "test": "dawn_end2end_tests",
         "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
diff --git a/infra/specs/test_suite_exceptions.pyl b/infra/specs/test_suite_exceptions.pyl
index d10f829..0967ef4 100644
--- a/infra/specs/test_suite_exceptions.pyl
+++ b/infra/specs/test_suite_exceptions.pyl
@@ -1,11 +1 @@
-{
-  'dawn_end2end_warp_tests': {
-    'remove_from': [
-      # Running with WARP in debug builds is quite slow. These can be enabled
-      # once sharding works properly and this can be more heavily sharded on
-      # debug testers.
-      'dawn-win-x64-sws-dbg',
-      'dawn-win-x86-sws-dbg',
-    ],
-  },
-}
+{}
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 7a95e1b..c752d3d 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -56,6 +56,10 @@
           'true_noop_merge',
         ],
         'test': 'dawn_end2end_tests',
+        'swarming': {
+          # Very slow on debug builds.
+          'shards': 6,
+        },
       },
     },
     'dawn_node_cts_sws_tests': {
diff --git a/src/dawn/tests/end2end/PixelLocalStorageTests.cpp b/src/dawn/tests/end2end/PixelLocalStorageTests.cpp
index 8bcd362..23765c7 100644
--- a/src/dawn/tests/end2end/PixelLocalStorageTests.cpp
+++ b/src/dawn/tests/end2end/PixelLocalStorageTests.cpp
@@ -595,18 +595,27 @@
 
 // Test implicit pixel local slot.
 TEST_P(PixelLocalStorageTests, ImplicitSlot) {
+    // crbug.com/450817278.
+    DAWN_SUPPRESS_TEST_IF(IsWindows() && IsD3D11() && IsWARP());
+
     PLSSpec spec = {4, {}, CheckMethod::StorageBuffer};
     DoTest(spec);
 }
 
 // Test multiple implicit pixel local slot.
 TEST_P(PixelLocalStorageTests, MultipleImplicitSlot) {
+    // crbug.com/450817278.
+    DAWN_SUPPRESS_TEST_IF(IsWindows() && IsD3D11() && IsWARP());
+
     PLSSpec spec = {16, {}, CheckMethod::StorageBuffer};
     DoTest(spec);
 }
 
 // Test mixed implicit / explicit pixel local slot.
 TEST_P(PixelLocalStorageTests, MixedImplicitExplicit) {
+    // crbug.com/450817278.
+    DAWN_SUPPRESS_TEST_IF(IsWindows() && IsD3D11() && IsWARP());
+
     {
         PLSSpec spec = {16,
                         {{4, wgpu::TextureFormat::R32Uint}, {8, wgpu::TextureFormat::R32Float}},