Enable Linux/Intel UHD 630 tests

Enables gtests on the Linux/Intel UHD 630 config that are equivalent to
the Dawn tests run on the Chromium builders.

Bug: 452406604, 452924802, 452924800
Change-Id: I513bf4ace4d70da7518366e2eab5e57cc05d1d57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/268039
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/infra/specs/ci.json b/infra/specs/ci.json
index 9576716..1ba1e6b 100644
--- a/infra/specs/ci.json
+++ b/infra/specs/ci.json
@@ -121,7 +121,176 @@
       }
     ]
   },
-  "dawn-linux-x64-intel-uhd630-rel": {},
+  "dawn-linux-x64-intel-uhd630-rel": {
+    "gtest_tests": [
+      {
+        "args": [
+          "--enable-implicit-device-sync",
+          "--use-gpu-in-tests",
+          "--exclusive-device-type-preference=discrete,integrated",
+          "--test-launcher-retry-limit=0",
+          "--test-launcher-batch-limit=512",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_implicit_sync_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
+        "args": [
+          "--enable-toggles=skip_validation",
+          "--use-gpu-in-tests",
+          "--exclusive-device-type-preference=discrete,integrated",
+          "--test-launcher-retry-limit=0",
+          "--test-launcher-batch-limit=512",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_skip_validation_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
+        "args": [
+          "--use-gpu-in-tests",
+          "--exclusive-device-type-preference=discrete,integrated",
+          "--test-launcher-retry-limit=0",
+          "--test-launcher-batch-limit=512",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
+        "args": [
+          "--enable-backend-validation",
+          "--use-gpu-in-tests",
+          "--exclusive-device-type-preference=discrete,integrated",
+          "--test-launcher-retry-limit=0",
+          "--test-launcher-batch-limit=512",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_validation_layers_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
+        "args": [
+          "--use-wire",
+          "--use-gpu-in-tests",
+          "--exclusive-device-type-preference=discrete,integrated",
+          "--test-launcher-retry-limit=0",
+          "--test-launcher-batch-limit=512",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_end2end_wire_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_end2end_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
+      },
+      {
+        "args": [
+          "--test-launcher-print-test-stdio=always",
+          "--test-launcher-jobs=1",
+          "--test-launcher-retry-limit=0",
+          "--override-steps=1",
+          "--no-xvfb"
+        ],
+        "merge": {
+          "script": "//scripts/merge_scripts/true_noop_merge.py"
+        },
+        "name": "dawn_perf_tests",
+        "resultdb": {
+          "result_format": "gtest_json"
+        },
+        "swarming": {
+          "containment_type": "AUTO",
+          "dimensions": {
+            "gpu": "8086:9bc5-23.2.1",
+            "os": "Ubuntu-22.04",
+            "pool": "chromium.tests.gpu"
+          },
+          "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+        },
+        "test": "dawn_perf_tests",
+        "test_id_prefix": "ninja://src/dawn/tests:dawn_perf_tests/"
+      }
+    ]
+  },
   "dawn-linux-x64-sws-clusterfuzz": {
     "gtest_tests": [
       {
diff --git a/infra/specs/generate_test_spec_json.py b/infra/specs/generate_test_spec_json.py
index 7fbdb59..210d075 100755
--- a/infra/specs/generate_test_spec_json.py
+++ b/infra/specs/generate_test_spec_json.py
@@ -58,6 +58,9 @@
             '--test-launcher-retry-limit=0',
             '--test-launcher-batch-limit=512',
         ],
+        'linux_args': [
+            '--no-xvfb',
+        ],
     },
     'no_swarming': {
         'swarming': {
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 3d2905f..1051afb 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -41,7 +41,8 @@
   'dawn_end2end_real_hardware_gtests_common_args': { 'args': [ '--use-gpu-in-tests',
                                                                '--exclusive-device-type-preference=discrete,integrated',
                                                                '--test-launcher-retry-limit=0',
-                                                               '--test-launcher-batch-limit=512']},
+                                                               '--test-launcher-batch-limit=512'],
+                                                     'linux_args': [ '--no-xvfb']},
   'gpu-swarming-pool': { 'fail_if_unused': False,
                          'swarming': { 'dimensions': { 'pool': 'chromium.tests.gpu'}}},
   'linux-jammy': { 'fail_if_unused': False,
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index d4f2776..702a87d 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -159,6 +159,9 @@
           # Tell the tests to only run one step for faster iteration.
           "--override-steps=1",
         ],
+        'linux_args': [
+          '--no-xvfb',
+        ],
         'mixins': [
           'result_adapter_gtest_json',
           'true_noop_merge',
diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl
index 41462bd..f0f42b0 100644
--- a/infra/specs/waterfalls.pyl
+++ b/infra/specs/waterfalls.pyl
@@ -45,7 +45,9 @@
         'mixins': [
           'linux_intel_uhd_630_stable',
         ],
-        'test_suites': {},
+        'test_suites': {
+          'gtest_tests': 'real_hardware_gtests',
+        },
       },
       'dawn-linux-x64-sws-clusterfuzz': {
         'os_type': 'linux',
diff --git a/src/dawn/tests/end2end/BufferTests.cpp b/src/dawn/tests/end2end/BufferTests.cpp
index 0585491..1a76c96 100644
--- a/src/dawn/tests/end2end/BufferTests.cpp
+++ b/src/dawn/tests/end2end/BufferTests.cpp
@@ -1074,8 +1074,9 @@
     DAWN_TEST_UNSUPPORTED_IF(IsTsan());
 
     // TODO(crbug.com/452924802): Unable to allocate buffer with validation
-    // skipped on WebGPU on WebGPU w/ Metal backend.
+    // skipped on WebGPU on WebGPU w/ Metal/Vulkan backends.
     DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Metal) && !IsBackendValidationEnabled());
+    DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Vulkan) && !IsBackendValidationEnabled());
 
     wgpu::BufferDescriptor descriptor;
     descriptor.usage = wgpu::BufferUsage::CopyDst;
@@ -1246,8 +1247,9 @@
     DAWN_TEST_UNSUPPORTED_IF(IsTsan());
 
     // TODO(crbug.com/452924802): Unable to allocate buffer with validation
-    // skipped on WebGPU on WebGPU w/ Metal backend.
+    // skipped on WebGPU on WebGPU w/ Metal/Vulkan backends.
     DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Metal) && !IsBackendValidationEnabled());
+    DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Vulkan) && !IsBackendValidationEnabled());
 
     auto RunTest = [this](const wgpu::BufferDescriptor& descriptor) {
         wgpu::Buffer buffer;
diff --git a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
index 6e178c7..f324df8 100644
--- a/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
+++ b/src/dawn/tests/white_box/CaptureAndReplayTests.cpp
@@ -49,6 +49,7 @@
         // TODO(crbug.com/452924800): Remove once these tests work properly with
         // the WebGPU on WebGPU backend with wire.
         DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Metal) && UsesWire());
+        DAWN_SUPPRESS_TEST_IF(IsWebGPUOn(wgpu::BackendType::Vulkan) && UsesWire());
     }
 
     class Capture {