[webkit-changes] [WebKit/WebKit] a33f8a: RemoteSerializedImageBuffer tracks WP-side reads r...
Kimmo Kinnunen
noreply at github.com
Wed Jun 7 02:14:16 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a33f8a24c752c23225ebeb863f4523b5f2ee4201
https://github.com/WebKit/WebKit/commit/a33f8a24c752c23225ebeb863f4523b5f2ee4201
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2023-06-07 (Wed, 07 Jun 2023)
Changed paths:
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteSerializedImageBufferIdentifier.h
M Tools/TestWebKitAPI/Tests/IPC/ThreadSafeObjectHeapTests.cpp
Log Message:
-----------
RemoteSerializedImageBuffer tracks WP-side reads redundantly
https://bugs.webkit.org/show_bug.cgi?id=257744
rdar://109799857
Reviewed by Matt Woodrow.
RemoteSerializedImageBuffers are created with MoveToSerializedBuffer
and destroyed with either MoveToImageBuffer or
ReleaseSerializedImageBuffer. These are just create and consume
operations, and as such do not need more complicated read and write
tracking.
The source RemoteImageBuffer identifier is the same as the eventual
destination RemoteImageBuffer identifier. Also
RemoteSerializedImageBuffer can be identified with the same identifier.
Use the thread-ThreadSafeObjectHeap only in the remote side, and only
with add and remove semantics.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::releaseSerializedImageBuffer):
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::moveToSerializedBuffer):
(WebKit::RemoteRenderingBackend::moveToImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteSerializedImageBufferProxy::RemoteSerializedImageBufferProxy):
(WebKit::RemoteSerializedImageBufferProxy::sinkIntoImageBuffer):
(WebKit::RemoteSerializedImageBufferProxy::~RemoteSerializedImageBufferProxy):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::moveToSerializedBuffer):
(WebKit::RemoteRenderingBackendProxy::moveToImageBuffer):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteSerializedImageBufferIdentifier.h:
(): Deleted.
* Tools/TestWebKitAPI/Tests/IPC/ThreadSafeObjectHeapTests.cpp:
(TestWebKitAPI::TEST_F):
Canonical link: https://commits.webkit.org/264935@main
More information about the webkit-changes
mailing list