Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aaa8686f00cc3ef183fced194bf2a013f601d06b
https://github.com/WebKit/WebKit/commit/aaa8686f00cc3ef183fced194bf2a013f601d06b
Author: Sergio Villar Senin <[email protected]>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp
Log Message:
-----------
[WebXR][GTK][WPE] Unable to enter sessions when makeXRCompatible is used
https://bugs.webkit.org/show_bug.cgi?id=306882
Reviewed by Adrian Perez de Castro.
Every time a JS app requested an XR-compatible canvas using
makeXRCompatible() the promise returned by that method was rejected and
thus no XR session could be started. That was not happening if the
xrCompatible GL context attribute was specified though. The difference
was that the former was checking whether or not the graphics subsystem
supported all the required extensions to make XR content work. That call
was returning false (meaning not all the extensions are available) in
several platforms.
It turns out that many of them are not actually required. They were just
there because at some point were used for the Android port but they are
not really required for Linux. Android already has a different list of
required extensions for what is worth.
By removing those unused extensions we can make all the experiences
using makeXRCompatible work again. It's worth noting that this only
happened whenever the GBM graphics context was used.
This cannot be easily tested as it requires a Graphics GL context with
GBM support. Tests use the ANGLE one which does not have this issue.
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp:
(WebCore::GraphicsContextGLTextureMapperGBM::enableRequiredWebXRExtensions):
Canonical link: https://commits.webkit.org/306781@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications