Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 21b64810c195869f4093a0c6a2c28f0611f0df3c
      
https://github.com/WebKit/WebKit/commit/21b64810c195869f4093a0c6a2c28f0611f0df3c
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2026-04-06 (Mon, 06 Apr 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/ModelBridge.swift
    M Source/WebKit/GPUProcess/graphics/Model/ModelIBLTextures.swift
    M Source/WebKit/GPUProcess/graphics/Model/ModelParameters.swift
    M Source/WebKit/GPUProcess/graphics/Model/ModelRenderer.swift
    M Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h
    M Source/WebKit/GPUProcess/graphics/Model/ModelUtils.swift
    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.swift
    M Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.h
    M Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.mm
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.h
    M Source/WebKit/Shared/Model.serialization.in
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
    M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
    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/Model/Mesh.h
    M Source/WebKit/WebProcess/Model/ModelInlineConverters.h
    M Source/WebKit/WebProcess/Model/WebModelPlayer.h
    M Source/WebKit/WebProcess/Model/WebModelPlayer.mm

  Log Message:
  -----------
  Models pop-in during loading
https://bugs.webkit.org/show_bug.cgi?id=310910
rdar://170180199

Reviewed by Etienne Segonzac.

Adopt new USDStageKit interfaces to avoid pop-in during loading.

* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.cpp:
(WebKit::MeshImpl::update):
(WebKit::MeshImpl::updateTexture):
(WebKit::MeshImpl::updateMaterial):
* Source/WebKit/GPUProcess/graphics/Model/MeshImpl.h:
* Source/WebKit/GPUProcess/graphics/Model/ModelBridge.swift:
* Source/WebKit/GPUProcess/graphics/Model/ModelIBLTextures.swift:
* Source/WebKit/GPUProcess/graphics/Model/ModelParameters.swift:
* Source/WebKit/GPUProcess/graphics/Model/ModelRenderer.swift:
* Source/WebKit/GPUProcess/graphics/Model/ModelTypealias.swift: Added.
(makeLowLevelRenderContextStandalone(_:)):
* Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h:
* Source/WebKit/GPUProcess/graphics/Model/ModelUtils.swift:
(MeshInstancePool.meshInstances):
(MeshInstancePool.add(_:)):
(remove(_:)):
(mapSemantic(_:)):
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.cpp:
(WebKit::RemoteMesh::update):
(WebKit::RemoteMesh::updateTexture):
(WebKit::RemoteMesh::updateMaterial):
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/RemoteMesh.messages.in:
* Source/WebKit/GPUProcess/graphics/Model/USDModel.swift:
(pendingContinuation):
(acquireUpdateSlot):
(releaseUpdateSlot):
(optTextures):
(DeformationContext.description):
(DeformationContext.dirty):
(WKBridgeReceiver.meshInstancePool):
(Material.textureHashesAndResources):
(updatedInstances):
(render(with:)):
(updateTexture(_:)):
(updateMaterial(_:)):
(updateMesh(_:)):
(USDModelLoader.loadModel(from:)):
(USDModelLoader.loadModel(_:)):
(USDModelLoader.update(_:)):
(USDModelLoader.processErrors(_:)):
(USDModelLoader.processRemovals(_:materialRemovals:textureRemovals:)):
(USDModelLoader.processTextureUpdates(_:)):
(USDModelLoader.processMaterialUpdates(_:)):
(USDModelLoader.processMeshUpdates(_:)):
(WKBridgeModelLoader.modelUpdated):
(WKBridgeModelLoader.textureUpdatedCallback):
(WKBridgeModelLoader.materialUpdatedCallback):
(WKBridgeModelLoader.update(_:)):
(WKBridgeModelLoader.updateMesh(_:)):
(WKBridgeModelLoader.updateTexture(_:)):
(WKBridgeModelLoader.updateMaterial(_:)):
(buildDeformationContext(_:deformationData:commandBuffer:device:deformationSystem:existingContext:identifierDescription:memoryOwner:)):
(DeformationMeshDescriptionData.vertexAttributes):
(DeformationMeshDescriptionData.vertexLayouts):
(DeformationMeshDescriptionData.mtlBuffers):
(LowLevelMeshResource.toDeformationVertexSemantic):
(makeMeshDescriptionForDeformation(_:deformationData:commandBuffer:isInput:device:)):
(makeInputMeshDescriptionForDeformation(_:deformationData:commandBuffer:device:)):
(makeInputMeshDescriptionForDeformationDeprecated(_:deformationData:commandBuffer:device:)):
(makeOutputMeshDescriptionForDeformation(_:deformationData:commandBuffer:device:)):
(makeOutputMeshDescriptionForDeformationDeprecated(_:deformationData:commandBuffer:)):
(WKBridgeSkinningData.makeDeformerDescription(_:memoryOwner:)):
(WKBridgeReceiver.updateTexture(_:)):
(WKBridgeReceiver.updateMaterial(_:)):
(WKBridgeReceiver.updateMesh(_:)):
(WKBridgeReceiver.meshInstancePlainArray): Deleted.
(WKBridgeReceiver.meshInstances): Deleted.
(meshResourceToDeformationContext): Deleted.
(Material.textureResources): Deleted.
(Material.render(with:)): Deleted.
(Material.updateTexture(_:)): Deleted.
(Material.updateMaterial(_:)): Deleted.
(Material.updateMesh(_:)): Deleted.
(Material.setTransform(_:)): Deleted.
(Material.setCameraDistance(_:)): Deleted.
(Material.setBackgroundColor(_:)): Deleted.
(Material.setPlaying(_:)): Deleted.
(Material.setEnvironmentMap(_:)): Deleted.
(Material.webPartsFromParts(_:)): Deleted.
(USDModelLoader.iblTextureUpdated(_:)): Deleted.
(USDModelLoader.iblTextureDestroyed(_:)): Deleted.
(USDModelLoader.meshUpdated(_:)): Deleted.
(USDModelLoader.meshDestroyed(_:)): Deleted.
(USDModelLoader.materialUpdated(_:)): Deleted.
(USDModelLoader.materialDestroyed(_:)): Deleted.
(USDModelLoader.textureUpdated(_:)): Deleted.
(USDModelLoader.textureDestroyed(_:)): Deleted.
(WKBridgeReceiver.deformers): Deleted.
(WKBridgeReceiver.inputMeshDescription): Deleted.
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.h:
* Source/WebKit/GPUProcess/graphics/Model/WebKitMesh.mm:
(WebKit::WebMesh::update):
(WebKit::WebMesh::processUpdates const):
(WebKit::convert):
(WebKit::WebMesh::updateTexture):
(WebKit::WebMesh::updateMaterial):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp:
(WebKit::RemoteMeshProxy::update):
(WebKit::RemoteMeshProxy::updateTexture):
(WebKit::RemoteMeshProxy::updateMaterial):
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h:
* Source/WebKit/WebProcess/Model/Mesh.h:
* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:
(WebKit::WebModelPlayer::load):
(WebKit::WebModelPlayer::update):

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



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

Reply via email to