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.
This seems like biggest blocker in switching to ANGLE. Any update ?
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).
We believe this is fixed in modern Apple platforms.