RESOLVED CONFIGURATION CHANGED 161026
[macOS] CGL virtual screen changes do not cause us to lose the WebGL context
https://bugs.webkit.org/show_bug.cgi?id=161026
Summary [macOS] CGL virtual screen changes do not cause us to lose the WebGL context
Myles C. Maxfield
Reported 2016-08-19 20:12:26 PDT
According to [1], "A change in the virtual screen indicates a renderer change, a change in renderer capability, or both." "When the renderer changes, the limits and extensions available to OpenGL may also change. Your application should retest the capabilities of the renderer and use these to choose its rendering algorithms appropriately." This can be achieved by listening for NSWindowDidChangeScreenNotification. We currently do this and plumb it through to the web process, eventually ending up in WebPage::windowScreenDidChange() and Document::windowScreenDidChange(). We should make this function cause WebGL contexts to be lost. This will cause web content to re-investigate the current renderer capabilities. [1] https://developer.apple.com/library/prerelease/content/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_contexts/opengl_contexts.html#//apple_ref/doc/uid/TP40001987-CH216-SW12
Attachments
Radar WebKit Bug Importer
Comment 1 2016-08-23 12:05:12 PDT
Myles C. Maxfield
Comment 2 2016-08-23 13:23:58 PDT
(In reply to comment #0) > ... We should make this function cause WebGL > contexts to be lost. This only needs to happen if the virtual screen of the context changes. We don't need to do this every time the user drags a window to an external monitor.
Kimmo Kinnunen
Comment 3 2024-01-17 01:36:33 PST
mostly metal is used cgl supports the context update signal to a degree
Note You need to log in before you can comment on or make changes to this bug.