Closed Bug 1864698 Opened 11 months ago Closed 3 months ago

Remove MacOS from WebGPU blocklist

Categories

(Core :: Graphics: WebGPU, defect, P1)

defect

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: ErichDonGubler, Assigned: ErichDonGubler)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 6 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

From WebGPU team chat on 2023-11-14:

ErichDonGubler: [In an experiment I did recently (try:a0e6d9c553c1),] MacOS tests ran chunked tests in a single chunk in <50m … . That (a) doesn't sound like we're doing much there, eek things broken, and (b) makes our current chunk configuration feel really wasteful. Observe that webgpu9 runs all webgpu/cts/chunked tests, and webgpu10 runs all webgpu/cts/webgpu tests.

:jimb: Yeah, and every test seems to take a consistent ~600ms. Very suspicious.

:ErichDonGubler: I'd wager that's how long it takes each test to get to trying to use navigator.gpu, or something close and early in the common API sequence to do things? 😅

:jimb: Yeah, probably.
:jimb: I'll bet they're all hitting the blocklist

If it is indeed the blocklist, then we can employ the gfx.webgpu.ignore-blocklist pref.

(In reply to Jim Blandy :jimb from comment #1)

If it is indeed the blocklist, then we can employ the gfx.webgpu.ignore-blocklist pref.

We've already set this pref for webgpu mochitests.

Assignee: nobody → egubler
Status: NEW → ASSIGNED
Attachment #9363612 - Attachment description: WIP: Bug 1864698: test(webgpu): set `gfx.webgpu.ignore-blocklist` to `true` for CTS testing on Mac r=#webgpu-reviewers! → Bug 1864698: test(webgpu): set `gfx.webgpu.ignore-blocklist` to `true` for CTS testing on Mac r=#webgpu-reviewers!
Keywords: leave-open
Pushed by egubler@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/42778d7f458c test(webgpu): merge exps. for observed CTS intermittents r=webgpu-reviewers,nical DONTBUILD
Attachment #9363612 - Attachment is obsolete: true
Attachment #9363742 - Attachment is obsolete: true

Status update: quoting this comment in D193612:

Hmmm…the latest Try push I've submitted with D193682 included (try:440344eacf9b) has not worked as I'd hoped. The decision to initialize WebGPU does not seem like something we can easily live-update with current code. Trying to change this seems to entail a bunch of design decisions that are a distraction from the core of this problem, which is that we expect hardware that supports MacOS 10.15 to be compatible with WebGPU, and not blocklisted[^1].

I'd prefer to explore other options like fixing our blocklist before going further down this hacky path. Abandoning for now.


[^1]: Examples: How do we transition currently open tabs when this preference changes?

:jimb, I think we simply need to focus on fixing the blocklist, but this is not something I have experience with. NI'ing you for help here, since I think it shouldn't be a huge lift.

Will un-assign this bug from myself once the test expectations patch I landed in autoland makes it to central.

Flags: needinfo?(jimb)
Keywords: leave-open
Assignee: egubler → nobody
Status: ASSIGNED → NEW
Severity: -- → S3
Flags: needinfo?(jimb)
Priority: P3 → P1
Severity: S3 → S2
Assignee: nobody → egubler
Status: NEW → ASSIGNED

I don't know much about the blocklist code either, unfortunately. Happy to pair on this if you like.

Currently blocked on gfx-rs/wgpu#2432. Without it, we shouldn't consider exposing any users to the unsafety with vertex attribute data. We have a blocklist entry that we want corresponding to it at widget/cocoa/GfxInfo.mm:478-482:

    // wgpu doesn't safely support OOB behavior on Metal yet.
    IMPLEMENT_MAC_DRIVER_BLOCKLIST(
        OperatingSystem::OSX, DeviceFamily::All, nsIGfxInfo::FEATURE_WEBGPU,
        nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
        "FEATURE_FAILURE_MAC_WGPU_NO_METAL_BOUNDS_CHECKS");
Assignee: egubler → nobody
Status: ASSIGNED → NEW

D'oh, I erroneously filed the above patches against this bug, instead of bug 1873696. Sorry for the noise!

Comment on attachment 9371923 [details]
WIP: Bug 1864698: test(webgpu): prep. refac. for second approx. of CTS test splitting r=#webgpu-reviewers!

Revision D198120 was moved to bug 1873696. Setting attachment 9371923 [details] to obsolete.

Attachment #9371923 - Attachment is obsolete: true

Comment on attachment 9371924 [details]
WIP: Bug 1864698: test(webgpu): make CTS case splitting logic determine WPT timeout len. r=#webgpu-reviewers!

Revision D198121 was moved to bug 1873696. Setting attachment 9371924 [details] to obsolete.

Attachment #9371924 - Attachment is obsolete: true

Comment on attachment 9371925 [details]
WIP: Bug 1864698: test(webgpu): make …:device_lost:destroy CTS cases use short WPT timeout r=#webgpu-reviewers!

Revision D198122 was moved to bug 1873696. Setting attachment 9371925 [details] to obsolete.

Attachment #9371925 - Attachment is obsolete: true

Comment on attachment 9371926 [details]
WIP: Bug 1864698: test(webgpu): adjust vendored CTS file perms. to match upstream for Unix platforms r=#webgpu-reviewers!

Revision D198123 was moved to bug 1873696. Setting attachment 9371926 [details] to obsolete.

Attachment #9371926 - Attachment is obsolete: true

TODO: Validate that this is actually safe to do, per the comment being
removed. @ErichDonGubler has asked here:
https://matrix.to/#/!AQDMTeppDxxlzBSBzM:mozilla.org/$JO9ErjRjlLAGKGHAZOJz8K0Md3fB1_63z3Yhd5pLQqo?via=mozilla.org

Summary: MacOS 10.15 CI appears to be doing no actual work → Remove MacOS from WebGPU blocklist

WebGPU is unreleased tech. Dropping Severity to S3 to remove from org tracking.

Severity: S2 → S3
Depends on: 1879965

Since https://github.com/gfx-rs/wgpu/issues/2432 is now resolved and the changes pulled into Firefox can macOS be un-blacklisted?

Assignee: nobody → egubler
Attachment #9372090 - Attachment description: WIP: Bug 1864698: feat(webgpu): re-enable MacOS support r=#webgpu-reviewers! → Bug 1864698: feat(webgpu): re-enable MacOS support r=#webgpu-reviewers!
Status: NEW → ASSIGNED

I just verified that we are requesting Naga-injected bounds checking on other indexing operations, so yeah, indexed draw calls were the last step. I'm not aware of any reason to keep this blocklisted in nightly.

Pushed by egubler@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bb79dcf0336e feat(webgpu): re-enable MacOS support r=webgpu-reviewers,teoxoy
Pushed by ctuns@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e5b11a4833d1 Check properly for timeout multipler in mozharness. CLOSED TREE
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch

I'd forgotten to remove the CI configuration that worked around the thing this bug fixes. Catching up with that in bug 1909265.

See Also: → 1909265
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: