Bug 202835
Summary: | Support eGPUs correctly in ANGLE backend | ||
---|---|---|---|
Product: | WebKit | Reporter: | Kenneth Russell <kbr> |
Component: | WebGL | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | bfulgham, dino, hypertree, jdarpinian, justin_fan |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 198948 |
Kenneth Russell
WebKit's current WebGL implementation supports external GPUs (eGPUs) correctly, specifically when the browser window is moved from one screen to another driven by an eGPU. ANGLE doesn't currently contain the code required to let this work correctly (the associated CGLSetVirtualScreen calls, and others).
Investigation will be needed to understand how exactly to make this work. For example, should WebKit's code continue to register a CGDisplayRegisterReconfigurationCallback, and call into ANGLE via some new extension so ANGLE can set the CGL renderer ID of its internal CGLContextObj?
This is a blocker to switching to the ANGLE backend - it would be unfortunate to regress support for eGPUs.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Sanjay Kumar
This seems like biggest blocker in switching to ANGLE.
Any update ?
James Darpinian
We should test this, but I believe it is fixed already. CGLSetVirtualScreen is called outside of ANGLE, in the same place as in the non-ANGLE path (GraphicsContextGLOpenGLCocoa.mm).
Brent Fulgham
We believe this is fixed in modern Apple platforms.