Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07fc3bbdc11702ac4482070db59fa6b66fd2e95a
      
https://github.com/WebKit/WebKit/commit/07fc3bbdc11702ac4482070db59fa6b66fd2e95a
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2024-08-05 (Mon, 05 Aug 2024)

  Changed paths:
    M Source/WebCore/Modules/WebGPU/GPUBindGroup.cpp
    M Source/WebCore/Modules/WebGPU/GPUBindGroup.h
    M Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.h
    M Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.h
    M Source/WebCore/Modules/WebGPU/GPUDevice.cpp
    M Source/WebCore/Modules/WebGPU/GPUDevice.h
    M Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUBindGroupImpl.cpp
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUBindGroupImpl.h
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.cpp
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.h
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUExternalTextureImpl.cpp
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUExternalTextureImpl.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBindGroup.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUDevice.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUExternalTexture.h
    M Source/WebGPU/WebGPU/BindGroup.h
    M Source/WebGPU/WebGPU/BindGroup.mm
    M Source/WebGPU/WebGPU/Buffer.mm
    M Source/WebGPU/WebGPU/CommandEncoder.h
    M Source/WebGPU/WebGPU/CommandEncoder.mm
    M Source/WebGPU/WebGPU/Device.h
    M Source/WebGPU/WebGPU/Device.mm
    M Source/WebGPU/WebGPU/ExternalTexture.h
    M Source/WebGPU/WebGPU/ExternalTexture.mm
    M Source/WebGPU/WebGPU/Queue.mm
    M Source/WebGPU/WebGPU/RenderBundleEncoder.mm
    M Source/WebGPU/WebGPU/WebGPUExt.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.messages.in
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h
    M 
Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h

  Log Message:
  -----------
  [WebGPU] https://threejs.org/examples/?q=webgpu#webgpu_video_panorama jetsams 
iOS
https://bugs.webkit.org/show_bug.cgi?id=277441
rdar://131938120

Reviewed by Tadeu Zagallo.

We need to implement the section of the WebGPU specification which allows
us to reuse the external video texture and GPUBindGroup to avoid going
over the memory limits on iOS.

* Source/WebCore/Modules/WebGPU/GPUBindGroup.cpp:
(WebCore::GPUBindGroup::updateExternalTextures):
* Source/WebCore/Modules/WebGPU/GPUBindGroup.h:
* Source/WebCore/Modules/WebGPU/GPUBindGroupDescriptor.h:
(WebCore::GPUBindGroupDescriptor::externalTextureMatches const):
* Source/WebCore/Modules/WebGPU/GPUBindGroupEntry.h:
(WebCore::GPUBindGroupEntry::equal):
(WebCore::GPUBindGroupEntry::externalTexture const):
* Source/WebCore/Modules/WebGPU/GPUDevice.cpp:
* Source/WebCore/Modules/WebGPU/GPUDevice.h:
* Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h:
(WebCore::GPUExternalTextureDescriptor::mediaIdentifierForSource):
(WebCore::GPUExternalTextureDescriptor::mediaIdentifier const):
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUBindGroupImpl.cpp:
(WebCore::WebGPU::BindGroupImpl::updateExternalTextures):
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUBindGroupImpl.h:
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.cpp:
(WebCore::WebGPU::DeviceImpl::updateExternalTexture):
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.h:
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUExternalTextureImpl.cpp:
(WebCore::WebGPU::ExternalTextureImpl::updateExternalTexture):
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUExternalTextureImpl.h:
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBindGroup.h:
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUDevice.h:
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUExternalTexture.h:
* Source/WebGPU/WebGPU/BindGroup.h:
(WebGPU::BindGroup::create):
* Source/WebGPU/WebGPU/BindGroup.mm:
(WebGPU::Device::createExternalTextureFromPixelBuffer const):
(WebGPU::Device::createBindGroup):
(WebGPU::BindGroup::BindGroup):
(WebGPU::BindGroup::updateExternalTextures):
(wgpuBindGroupUpdateExternalTextures):
* Source/WebGPU/WebGPU/Buffer.mm:
(WebGPU::Device::safeCreateBuffer const):
* Source/WebGPU/WebGPU/CommandEncoder.h:
* Source/WebGPU/WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::clearTextureIfNeeded):
* Source/WebGPU/WebGPU/ComputePassEncoder.mm:
(WebGPU::ComputePassEncoder::dispatchIndirect):
* Source/WebGPU/WebGPU/Device.h:
* Source/WebGPU/WebGPU/Device.mm:
(WebGPU::Device::dispatchCallBuffer):
* Source/WebGPU/WebGPU/ExternalTexture.h:
* Source/WebGPU/WebGPU/ExternalTexture.mm:
(WebGPU::ExternalTexture::ExternalTexture):
(WebGPU::ExternalTexture::destroy):
(WebGPU::ExternalTexture::update):
(wgpuExternalTextureUpdate):
* Source/WebGPU/WebGPU/Queue.mm:
(WebGPU::Queue::clearTextureIfNeeded):
(WebGPU::Queue::clearTextureViewIfNeeded):
* Source/WebGPU/WebGPU/WebGPUExt.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp:
(WebKit::RemoteBindGroup::updateExternalTextures):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp:
(WebKit::RemoteDevice::updateExternalTexture):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.cpp:
(WebKit::WebGPU::RemoteBindGroupProxy::updateExternalTextures):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp:
(WebKit::WebGPU::RemoteDeviceProxy::updateExternalTexture):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.cpp:
(WebKit::WebGPU::RemoteExternalTextureProxy::updateExternalTexture):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h:

Canonical link: https://commits.webkit.org/281859@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

Reply via email to