Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2094600ec6893832008517925c6b755b4421c7fb
https://github.com/WebKit/WebKit/commit/2094600ec6893832008517925c6b755b4421c7fb
Author: Alejandro G. Castro <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M LayoutTests/platform/glib/TestExpectations
M
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
Log Message:
-----------
[GLIB] Implement GraphicsContextGLANGLE::checkGPUStatus()
https://bugs.webkit.org/show_bug.cgi?id=172812
Reviewed by Carlos Garcia Campos.
Implement checkGPUStatus() for glib ports, the GPUStatusFailure event set
up by Internals::simulateEventForWebGLContext() sets m_failNextStatusCheck and
nothing was reading it, that made the context never lost and the tests that wait
for the webglcontextlost event failed or timed out.
Implement the simulated failure branch, matching what the Cocoa backend does in
GraphicsContextGLCocoa.mm. Real GPU reset detection would additionally need
GL_EXT_robustness, this change makes the testing work.
Also unlike Cocoa this does not drop the current context afterwards, because
GraphicsContextGLTextureMapperANGLE tracks context currency itself in
makeContextCurrent() and calling EGL_MakeCurrent() behind its back would leave
that tracking stale.
Unskip the four tests using this feature:
fast/canvas/webgl/lose-context-on-status-failure.html (was Skip, timed out)
webgl/lose-context-after-context-lost.html (was Failure Timeout)
webgl/multiple-context-losses.html (was Failure)
webgl/max-active-contexts-webglcontextlost-prevent-default.html (was Failure,
filed under webkit.org/b/305355, but it uses the same simulation hook)
* LayoutTests/platform/glib/TestExpectations:
*
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::checkGPUStatus):
Canonical link: https://commits.webkit.org/320403@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications