Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a33f8a24c752c23225ebeb863f4523b5f2ee4201
https://github.com/WebKit/WebKit/commit/a33f8a24c752c23225ebeb863f4523b5f2ee4201
Author: Kimmo Kinnunen <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes