Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3b678c38be451b2ab6cfb82cf0b9232b5b2205fd
https://github.com/WebKit/WebKit/commit/3b678c38be451b2ab6cfb82cf0b9232b5b2205fd
Author: Alejandro G. Castro <[email protected]>
Date: 2026-03-26 (Thu, 26 Mar 2026)
Changed paths:
M Source/WebCore/platform/graphics/android/PlatformDisplayAndroid.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp
Log Message:
-----------
[Android] Fall back when AHardwareBuffer EGL import is unavailable
https://bugs.webkit.org/show_bug.cgi?id=310475
Reviewed by Adrian Perez de Castro.
Some Android EGL displays initialize successfully but cannot actually import
AHardwareBuffer objects as EGLImages. The Android coordinated graphics path
currently assumes that an Android display always supports that import path,
which can leave the swap chain without a valid rendering fallback.
Probe AHardwareBuffer import support when creating PlatformDisplayAndroid.
Prefer the Android platform display when it supports native-buffer import,
retry with eglGetDisplay() when it does not. Fallback to PlatformDisplayDefault
and handle Type::Default properly in Android in this case.
Also treat core EGL 1.5 image support as sufficient for the probe, matching
the existing EGL image creation logic instead of requiring the legacy
EGL_KHR_image_base extension string.
* Source/WebCore/platform/graphics/android/PlatformDisplayAndroid.cpp:
(WebCore::supportsAndroidNativeBufferImport):
(WebCore::PlatformDisplayAndroid::create):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::SwapChain::SwapChain):
Canonical link: https://commits.webkit.org/309983@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications