commit 5dc0d50b161c25f2f009b33cb5f106ec9b054fb7
parent a319c525f0f1a311fcd49e37b2ee4fa4075fd6e3
Author: Andy Leiserson <aleiserson@mozilla.com>
Date: Fri, 10 Oct 2025 01:28:31 +0000
Bug 1992212 - Block WebGPU on pre-Tahoe MacOS r=webgpu-reviewers,taskgraph-reviewers,jmaher,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D268048
Diffstat:
5 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/dom/webgpu/tests/mochitest/mochitest-resistfingerprinting.toml b/dom/webgpu/tests/mochitest/mochitest-resistfingerprinting.toml
@@ -8,7 +8,11 @@ run-if = [
prefs = [
"dom.webgpu.enabled=true",
"dom.webgpu.service-workers.enabled=true",
- "gfx.webgpu.ignore-blocklist=true", # https://bugzilla.mozilla.org/show_bug.cgi?id=1985348
+ # Ignoring the blocklist is necessary to run tests in CI on old Mesa versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1985348) or against beta and
+ # release builds on old MacOS versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1993341).
+ "gfx.webgpu.ignore-blocklist=true",
"privacy.fingerprintingProtection=true",
"privacy.fingerprintingProtection.overrides='-AllTargets,+WebGPULimits'",
]
diff --git a/dom/webgpu/tests/mochitest/mochitest.toml b/dom/webgpu/tests/mochitest/mochitest.toml
@@ -14,7 +14,11 @@ run-if = [
prefs = [
"dom.webgpu.service-workers.enabled=true",
- "gfx.webgpu.ignore-blocklist=true", # https://bugzilla.mozilla.org/show_bug.cgi?id=1985348
+ # Ignoring the blocklist is necessary to run tests in CI on old Mesa versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1985348) or against beta and
+ # release builds on old MacOS versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1993341).
+ "gfx.webgpu.ignore-blocklist=true",
]
support-files = [
"worker_wrapper.js",
diff --git a/taskcluster/gecko_taskgraph/transforms/test/other.py b/taskcluster/gecko_taskgraph/transforms/test/other.py
@@ -1144,14 +1144,15 @@ def enable_parallel_marking_in_tsan_tests(config, tasks):
@transforms.add
def set_webgpu_ignore_blocklist(config, tasks):
"""
- Ignore the WebGPU blocklist on Linux because CI's Mesa is old
-
- See <https://bugzilla.mozilla.org/show_bug.cgi?id=1985348>
+ Ignore the WebGPU blocklist on Linux (because CI's Mesa is old,
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=1985348>) and on pre-Tahoe
+ MacOS (<https://bugzilla.mozilla.org/show_bug.cgi?id=1993341>).
"""
for task in tasks:
- if "web-platform-tests-webgpu" in task["test-name"] and task[
- "test-platform"
- ].startswith("linux"):
+ if "web-platform-tests-webgpu" in task["test-name"] and (
+ task["test-platform"].startswith("linux")
+ or task["test-platform"].startswith("macosx1")
+ ):
extra_options = task["mozharness"].setdefault("extra-options", [])
extra_options.append("--setpref=gfx.webgpu.ignore-blocklist=true")
diff --git a/toolkit/components/ml/tests/browser/perftest.toml b/toolkit/components/ml/tests/browser/perftest.toml
@@ -4,7 +4,11 @@ support-files = [
"shared-head.js"
]
prefs = [
- "gfx.webgpu.ignore-blocklist=true", # https://bugzilla.mozilla.org/show_bug.cgi?id=1985348
+ # Ignoring the blocklist is necessary to run tests in CI on old Mesa versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1985348) or against beta and
+ # release builds on old MacOS versions
+ # (https://bugzilla.mozilla.org/show_bug.cgi?id=1993341).
+ "gfx.webgpu.ignore-blocklist=true",
]
["browser_ml_autofill_perf.js"]
diff --git a/widget/cocoa/GfxInfo.mm b/widget/cocoa/GfxInfo.mm
@@ -514,6 +514,14 @@ nsresult GfxInfo::GetFeatureStatusImpl(
*aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
aFailureId = "FEATURE_UNQUALIFIED_WEBRENDER_MAC_ROSETTA";
return NS_OK;
+#ifndef EARLY_BETA_OR_EARLIER
+ } else if (aFeature == nsIGfxInfo::FEATURE_WEBGPU &&
+ !nsCocoaFeatures::OnTahoeOrLater()) {
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1993341
+ *aStatus = nsIGfxInfo::FEATURE_BLOCKED_OS_VERSION;
+ aFailureId = "FEATURE_FAILURE_WEBGPU_MACOS_26_REQUIRED";
+ return NS_OK;
+#endif
}
}