Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ac3f16b6b03bfe5e246f01709b74888885a009f3
https://github.com/WebKit/WebKit/commit/ac3f16b6b03bfe5e246f01709b74888885a009f3
Author: Kimmo Kinnunen <[email protected]>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in
A Source/WebKit/GPUProcess/RemoteSharedResourceCache.cpp
A Source/WebKit/GPUProcess/RemoteSharedResourceCache.h
A Source/WebKit/GPUProcess/RemoteSharedResourceCache.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp
M Source/WebKit/Sources.txt
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.h
A Source/WebKit/WebProcess/GPU/RemoteSharedResourceCacheProxy.cpp
A Source/WebKit/WebProcess/GPU/RemoteSharedResourceCacheProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
Log Message:
-----------
Add a cache to store GPU process resources per Web process
https://bugs.webkit.org/show_bug.cgi?id=269448
rdar://122999532
Reviewed by Matt Woodrow.
Add RemoteSharedResourceCache, a cache that will be used to exchange
objects between different work queues processing messages from different
connections from the same Web process.
Move the serialized image buffers to this cache as an example.
Add WP side view of the cache, too. The cache does not maintain any
view yet, as serialized image buffers do not need that.
Later on, resources such as NativeImages from WebGL, 2D context and
ImageBitmaps will be stored in the cache, so that they can be created
in one "engine" and used in another.
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::sharedResourceCache):
(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::releaseSerializedImageBuffer): Deleted.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::serializedImageBufferHeap): Deleted.
* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::moveToSerializedBuffer):
(WebKit::RemoteRenderingBackend::moveToImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/Sources.txt:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::sharedResourceCache):
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteSerializedImageBufferProxy::~RemoteSerializedImageBufferProxy):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
Canonical link: https://commits.webkit.org/277610@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes