Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1050700930f62adfc55694d8cbd8d008fde112c3
https://github.com/WebKit/WebKit/commit/1050700930f62adfc55694d8cbd8d008fde112c3
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp
M Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
M Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h
M Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp
M Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.h
M Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphicsGLib.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.h
M Tools/MiniBrowser/gtk/main.c
Log Message:
-----------
REGRESSION(306485@main): [GTK] Crashes or bad rendering with compositing mode
disabled or with hardware acceleration disabled and softGL.
https://bugs.webkit.org/show_bug.cgi?id=306993
Reviewed by Alejandro G. Castro.
The crashes happen because we still assume that AcceleratedBackingStore
can only be used for hardware acceleration, but we are now using it when
hardware acceleration is disabled. This patch removes the checks for
acceleration in AcceleratedBackingStore::create(). It also removes the
UseHardwareBuffersForFrameRendering and adds HardwareAccelerationEnabled
that matches the hardware acceleration policy setting exposed in the
public API. When accelerated compositing mode is disabled, hardware
buffers will be used for frame rendering if hardware acceleration is
enabled. This patch also adds support for setting the hardware
acceleration policy from the command line to MiniBrowser using
--hardware-acceleration-policy=always|never
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp:
(WebKit::WebKitProtocolHandler::handleGPU):
* Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:
(webkit_settings_get_hardware_acceleration_policy):
(webkit_settings_set_hardware_acceleration_policy):
* Source/WebKit/UIProcess/Inspector/gtk/RemoteWebInspectorUIProxyGtk.cpp:
(WebKit::RemoteWebInspectorUIProxy::platformCreateFrontendPageAndWindow):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp:
(WebKit::AcceleratedBackingStore::canUseHardwareAcceleration):
(WebKit::AcceleratedBackingStore::create):
(WebKit::AcceleratedBackingStore::checkRequirements): Deleted.
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.h:
* Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:
(WebKit::HardwareAccelerationManager::HardwareAccelerationManager):
* Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.h:
(WebKit::HardwareAccelerationManager::acceleratedCompositingModeEnabled const):
(WebKit::HardwareAccelerationManager::forceAcceleratedCompositingMode const):
(WebKit::HardwareAccelerationManager::forceHardwareAcceleration const): Deleted.
* Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AcceleratedSurface.cpp:
(WebKit::AcceleratedSurface::AcceleratedSurface):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphicsGLib.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::updatePreferences):
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingModeIfNeeded):
(WebKit::DrawingAreaCoordinatedGraphics::graphicsLayerFactory):
(WebKit::DrawingAreaCoordinatedGraphics::setRootCompositingLayer):
(WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaCoordinatedGraphics::sendEnterAcceleratedCompositingModeIfNeeded):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.cpp:
(WebKit::NonCompositedFrameRenderer::initialize):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/NonCompositedFrameRenderer.h:
(WebKit::NonCompositedFrameRenderer::surfaceID const):
* Tools/MiniBrowser/gtk/main.c:
(isValidParameterType):
Canonical link: https://commits.webkit.org/306842@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications