[webkit-changes] [WebKit/WebKit] a73d5e: Add logging for remote rendering buffer swapping
Simon Fraser
noreply at github.com
Sat Mar 18 08:39:50 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a73d5e722266ced478f3443567cb7210b3619b0e
https://github.com/WebKit/WebKit/commit/a73d5e722266ced478f3443567cb7210b3619b0e
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-03-18 (Sat, 18 Mar 2023)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M Source/WebCore/platform/graphics/ImageBuffer.h
A Source/WebCore/platform/graphics/RenderingMode.cpp
M Source/WebCore/platform/graphics/RenderingMode.h
M Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.cpp
M Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.h
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/Platform/Logging.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm
M Source/WebKit/Sources.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
A Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.cpp
M Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
Log Message:
-----------
Add logging for remote rendering buffer swapping
https://bugs.webkit.org/show_bug.cgi?id=254091
rdar://106875525
Reviewed by Tim Horton.
Add a WebKit "RemoteLayerBuffers" log channel, subsuming RemoteRenderingBufferVolatility logging. Use this
log channel to show information about the buffer swapping done under RemoteRenderingBackendProxy::prepareBuffersForDisplay().
Have RemoteLayerBackingStoreCollection::backingStoreNeedsDisplay() return an enum for easier logging of the reason for display.
Make ImageBuffer loggable, via a virtual `debugDescription()` function that in future subclasses can override to show more info,
and make some related enum types loggable.
Fix some issues caused by unified sources reshuffling.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::debugDescription const):
(WebCore::operator<<):
* Source/WebCore/platform/graphics/ImageBuffer.h:
* Source/WebCore/platform/graphics/RenderingMode.cpp: Copied from Source/WebCore/platform/graphics/RenderingMode.h.
(WebCore::operator<<):
* Source/WebCore/platform/graphics/RenderingMode.h:
* Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.cpp:
* Source/WebCore/platform/graphics/cocoa/UnrealizedCoreTextFont.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::prepareLayerBuffersForDisplay):
(WebKit::RemoteRenderingBackend::markSurfacesVolatile):
* Source/WebKit/Platform/Logging.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::needsDisplay const):
(WebKit::RemoteLayerBackingStore::prepareToDisplay):
(WebKit::RemoteLayerBackingStore::prepareBuffers):
(WebKit::RemoteLayerBackingStore::paintContents):
(WebKit::RemoteLayerBackingStore::takePendingFlushers):
(WebKit::operator<<):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::backingStoreNeedsDisplay const):
(WebKit::RemoteLayerBackingStoreCollection::willFlushLayers):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerBackingStoreCollection::backingStoreNeedsDisplay): Deleted.
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::backingStoreNeedsDisplay const):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::tryMarkAllBackingStoreVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markAllBackingStoreVolatileFromTimer):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::sendMarkBuffersVolatile):
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::backingStoreNeedsDisplay): Deleted.
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.cpp: Copied from Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.h.
(WebKit::operator<<):
* Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
Canonical link: https://commits.webkit.org/261822@main
More information about the webkit-changes
mailing list