Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3fcfb8dbae92dbd836f42310986a8592eb3b2266
https://github.com/WebKit/WebKit/commit/3fcfb8dbae92dbd836f42310986a8592eb3b2266
Author: Etienne Segonzac <[email protected]>
Date: 2026-03-17 (Tue, 17 Mar 2026)
Changed paths:
M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp
M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h
M Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h
M Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.cpp
M Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.h
M Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.messages.in
M Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.h
M Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.mm
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h
M Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h
M Source/WebKit/WebProcess/Model/Mesh.h
M Source/WebKit/WebProcess/Model/WebModelPlayer.h
M Source/WebKit/WebProcess/Model/WebModelPlayer.mm
Log Message:
-----------
WebModelPlayer should support resizing
https://bugs.webkit.org/show_bug.cgi?id=310058
<rdar://172312511>
Reviewed by Mike Wyrzykowski.
When the layout size of the model changes, create new render buffers and
update the existing Mesh to use them.
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp:
(WebKit::MeshImpl::updateRenderBuffers):
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h:
* Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.cpp:
(WebKit::RemoteMesh::updateRenderBuffers):
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.messages.in:
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.mm:
(WebKit::createMetalTextures):
Extract the metal texture creation code in a static so it can be shared
between the initial creation and the resize code paths.
(WebKit::WebMesh::WebMesh):
(WebKit::WebMesh::updateRenderBuffers):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::RemoteGPU::createRenderBuffers):
Extract the render buffer creation code so it can be shared, add the
memory attribution to this new function.
(WebKit::createModelBackingInternal):
(WebKit::createIOSurfaces): Deleted.
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h:
* Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in:
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp:
(WebKit::RemoteMeshProxy::sizeDidChange):
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h:
* Source/WebKit/WebProcess/Model/Mesh.h:
(WebKit::Mesh::updateRenderBuffers):
(WebKit::Mesh::sizeDidChange):
* Source/WebKit/WebProcess/Model/WebModelPlayer.h:
* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:
(WebKit::WebModelPlayer::load):
Keep track of the initial pixel size.
(WebKit::WebModelPlayer::sizeDidChange):
On size change, signal the mesh and configure the display delegate to
use the new buffers.
Canonical link: https://commits.webkit.org/309410@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications