Hook up blocklist and prefs for WebGL on Metal ANGLE
Categories
(Core :: Graphics: CanvasWebGL, task)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox154 | --- | fixed |
People
(Reporter: jnicol, Assigned: jnicol)
References
(Blocks 1 open bug)
Details
(Whiteboard: [fxpe])
Attachments
(1 file)
|
Bug 2053067 - Hook up blocklist and prefs for using Metal ANGLE for WebGL on macOS. r?#gfx-reviewers
48 bytes,
text/x-phabricator-request
|
Details | Review |
We want this blocked and disabled by default because this isn't usable yet
| Assignee | ||
Comment 1•2 months ago
|
||
It would be tempting to reuse the existing blocklist feature
WEBGL_ANGLE, but this is unfortunately named. On Windows it actually
indicates whether WebGL is allowed to use a hardware accelerated D3D
ANGLE context. If blocked, ANGLE may still be used with a WARP device.
To avoid confusion, we instead add a new blocklist feature:
WEBGL_ANGLE_METAL. This is currently always blocked, as we are not
yet building or shipping ANGLE libraries on macOS. We also
specifically block it on devices with multiple GPUs or macOS versions
earlier than 12, as support for these will likely follow the initial
rollout and we don't want to accidentally enable for these systems
prematurely.
The existing pref webgl.disable-angle can be used to disable the
feature even when the blocklist allows it. We now set this to true
(i.e. ANGLE is disabled) by default on non-Windows.
A gfxVar is initialized from the blocklist state, and this is used in
combination with the pref to decide whether to create an ANGLE (EGL)
or native (CGL) context for WebGL. We additionally always choose
native when the FORBID_HARDWARE flag is set, as Metal does not
expose a software renderer.
Updated•2 months ago
|
Updated•1 month ago
|
Updated•1 month ago
|
Comment 3•1 month ago
|
||
| bugherder | ||
Updated•1 month ago
|
Description
•