Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0169866269627ff9c4818e0b804c43ec997a232f
https://github.com/WebKit/WebKit/commit/0169866269627ff9c4818e0b804c43ec997a232f
Author: Mike Wyrzykowski <[email protected]>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp
M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h
R Source/WebKit/GPUProcess/graphics/Model/ModelIBLTextures.swift
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/USDModel+Deformation.swift
M Source/WebKit/GPUProcess/graphics/Model/USDModel.swift
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/GPUProcess/graphics/WebGPU/RemoteGPU.messages.in
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in
M Source/WebKit/Shared/Model.serialization.in
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h
M Source/WebKit/WebProcess/Model/Mesh.h
M Source/WebKit/WebProcess/Model/ModelInlineConverters.h
M Source/WebKit/WebProcess/Model/WebModelPlayer.mm
Log Message:
-----------
Memory pressure on certain devices loading model
https://bugs.webkit.org/show_bug.cgi?id=316057
rdar://178483942
Reviewed by Etienne Segonzac.
When we resolved the flickering by loading the model data
all at once, we created a peak memory regression due to
large payloads being sent across IPC
This would lead to jetsams and process terminations.
Resolved this by using shared memory for larger allocations
sent across the wire.
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp:
(WebKit::MeshImpl::setEnvironmentMap):
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h:
* Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.cpp:
(WebKit::RemoteMesh::setEnvironmentMap):
* 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:
(WebModel::convert):
(WebKit::WebMesh::setEnvironmentMap):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::createModelBackingInternal):
(WebKit::RemoteGPU::createModelBacking):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.messages.in:
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_must_be_moved):
* Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in:
* Source/WebKit/Shared/Model.serialization.in:
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp:
(WebKit::RemoteMeshProxy::setEnvironmentMap):
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::createModelBacking):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
* Source/WebKit/WebProcess/Model/Mesh.h:
* Source/WebKit/WebProcess/Model/ModelInlineConverters.h:
(WebKit::convert):
* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:
(WebKit::loadData):
(WebKit::WebModelPlayer::load):
Canonical link: https://commits.webkit.org/314487@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications