Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9b3aeb16b3e6a4fe7b979bca2397232ced32440f
https://github.com/WebKit/WebKit/commit/9b3aeb16b3e6a4fe7b979bca2397232ced32440f
Author: Sergio Villar Senin <[email protected]>
Date: 2026-07-10 (Fri, 10 Jul 2026)
Changed paths:
M
Source/WebCore/platform/graphics/android/GraphicsContextGLTextureMapperAndroid.cpp
Log Message:
-----------
[WebXR] Nothing is rendered in Android
https://bugs.webkit.org/show_bug.cgi?id=319038
Reviewed by Alejandro G. Castro.
In df6bba12@main we added an extra check whenever xrCompatible flag was
used to create a canvas. In those cases we should verify the
availability of certain GL extensions before returning a compatible
canvas. That change was correct but it unveiled a previous bug that was
hidden in the android specific implementation.
GraphicsContextGLTextureMapperAndroid::enableRequiredWebXRExtensionsImpl()
passed EGL extension names (EGL_KHR_image_base, EGL_KHR_surfaceless_context,
EGL_ANDROID_get_native_client_buffer...) to enableExtensionsImpl(),
which does only check GL extensions. That's why this method was always
returning false, and thus, rejected the creation of XR compatible GL
canvases.
The required EGL extensions are already validated in
platformInitializeExtensions(), except EGL_KHR_surfaceless_context
which was also incorrectly included in the list of required extensions,
the code would use it if available but is not required (also it only
makes sense whenever DMABuf is used which is not the case for android).
*
Source/WebCore/platform/graphics/android/GraphicsContextGLTextureMapperAndroid.cpp:
(WebCore::GraphicsContextGLTextureMapperAndroid::enableRequiredWebXRExtensionsImpl):
Canonical link: https://commits.webkit.org/316903@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications