Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 87b3f94f7fe6fb59c778e9c4a8caa389ff366f08
      
https://github.com/WebKit/WebKit/commit/87b3f94f7fe6fb59c778e9c4a8caa389ff366f08
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2026-04-22 (Wed, 22 Apr 2026)

  Changed paths:
    M Source/WebCore/css/html.css
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp
    M Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h
    M Source/WebKit/GPUProcess/graphics/Model/ModelBridge.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
    A 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/mac/com.apple.WebKit.GPUProcess.sb.in
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
    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/Model/Mesh.h
    M Source/WebKit/WebProcess/Model/WebModelPlayer.mm
    M Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

  Log Message:
  -----------
  Adopt animation delta updates
https://bugs.webkit.org/show_bug.cgi?id=311661
rdar://174252183

Reviewed by Dan Glastonbury.

Adopt animation delta updates to avoid constantly updating
all vertices in animating models.

* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp:
(WebKit::MeshImpl::processRemovals):
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h:
* Source/WebKit/GPUProcess/graphics/Model/ModelBridge.swift:
(WKBridgeRemovals.isEmpty):
* Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.cpp:
(WebKit::RemoteMesh::processRemovals):
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.messages.in:
* Source/WebKit/GPUProcess/graphics/Model/USDModel+Deformation.swift: Added.
(_USDKit_RealityKit.geometryBindTransformCompat):
(_USDKit_RealityKit.jointTransformsCompat):
(_USDKit_RealityKit.inverseBindPosesCompat):
(MTLBuffer.copyMemory(from:byteOffset:)):
(WKBridgeSkinningData.updateDeformerDescription(_:)):
(WKBridgeSkinningData.makeDeformerDescription(_:memoryOwner:)):
(WKBridgeBlendShapeData.updateDeformerDescription(_:)):
(WKBridgeBlendShapeData.makeDeformerDescription(_:memoryOwner:)):
(WKBridgeRenormalizationData.updateDeformerDescription(_:)):
(WKBridgeRenormalizationData.makeDeformerDescription(_:memoryOwner:)):
(WKBridgeRenormalizationData.validate):
(DeformationContext.description):
(DeformationContext.dirty):
(configureDeformation(_:deformationData:commandBuffer:device:meshResource:meshResourceToDeformationContext:deformationSystem:memoryOwner:)):
(updateDeformationContextInPlace(_:context:)):
(buildDeformationContext(_:deformationData:commandBuffer:device:deformationSystem:existingContext:identifierDescription:memoryOwner:)):
(DeformationMeshDescriptionData.vertexAttributes):
(DeformationMeshDescriptionData.vertexLayouts):
(DeformationMeshDescriptionData.mtlBuffers):
(makeMeshDescriptionForDeformation(_:deformationData:commandBuffer:isInput:device:memoryOwner:)):
(makeInputMeshDescriptionForDeformation(_:deformationData:commandBuffer:device:memoryOwner:)):
(makeOutputMeshDescriptionForDeformation(_:deformationData:commandBuffer:device:memoryOwner:)):
(WKBridgeVertexAttributeFormat.toDeformationVertexSemantic):
* Source/WebKit/GPUProcess/graphics/Model/USDModel.swift:
(render(with:commandBuffer:)):
(processRemovals(_:textureRemovals:materialRemovals:)):
(updateMesh(_:)):
(USDModelLoader.loadModel(from:)):
(WKBridgeModelLoader.processRemovalsCallback):
(WKBridgeModelLoader.processRemovals(_:)):
(_USDKit_RealityKit.geometryBindTransformCompat): Deleted.
(_USDKit_RealityKit.jointTransformsCompat): Deleted.
(_USDKit_RealityKit.inverseBindPosesCompat): Deleted.
(DeformationContext.description): Deleted.
(DeformationContext.dirty): Deleted.
(deformers): Deleted.
(DeformationMeshDescriptionData.vertexAttributes): Deleted.
(DeformationMeshDescriptionData.vertexLayouts): Deleted.
(DeformationMeshDescriptionData.mtlBuffers): Deleted.
(_Proto_LowLevelMeshResource_v1.toDeformationVertexSemantic): Deleted.
(meshResourceBufferIndexToDeformationBufferIndex): Deleted.
(meshResourceLayoutIndexToDeformationLayoutIndex): Deleted.
(inputAttributeSemantics): Deleted.
(WKBridgeBlendShapeData.makeDeformerDescription(_:memoryOwner:)): Deleted.
(WKBridgeRenormalizationData.makeDeformerDescription(_:memoryOwner:)): Deleted.
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.mm:
(WebKit::WebMesh::processRemovals):
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp:
(WebKit::RemoteMeshProxy::processRemovals):
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h:
* Source/WebKit/WebProcess/Model/Mesh.h:
* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:
(WebKit::WebModelPlayer::load):

Canonical link: https://commits.webkit.org/311795@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to