Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0fd8ffebbc041b7d302048afbbf1c8ab856ecb5f
https://github.com/WebKit/WebKit/commit/0fd8ffebbc041b7d302048afbbf1c8ab856ecb5f
Author: Carlos Garcia Campos <[email protected]>
Date: 2026-08-04 (Tue, 04 Aug 2026)
Changed paths:
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.h
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
M
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h
Log Message:
-----------
[CoordinatedGraphics] Release the CoordinatedPlatformLayer lock while
recording and replaying tiles
https://bugs.webkit.org/show_bug.cgi?id=320978
Reviewed by Nikolas Zimmermann.
Recording can take a while, if the scrolling thread needs to access the
layer while being recorded it has to wait for something that doesn't
change the layer state. We can copy the values we need to pass to
CoordinatedBackingStoreProxy::updateIfNeeded() and release the log
before calling it. This patch also moves the painting code back to
CoordinatedBackingStoreProxy since nowadays the implementation of record
and replay is just a single line on code and we avoid passing values
from layer to proxy and then back from proxy to layer.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.cpp:
(WebCore::CoordinatedBackingStoreProxy::updateIfNeeded):
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreProxy.h:
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::updateBackingStore):
(WebCore::CoordinatedPlatformLayer::threadSafeGrContext const):
(WebCore::CoordinatedPlatformLayer::paint): Deleted.
(WebCore::CoordinatedPlatformLayer::record): Deleted.
(WebCore::CoordinatedPlatformLayer::replay): Deleted.
*
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:
Canonical link: https://commits.webkit.org/318554@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications