[webkit-changes] [WebKit/WebKit] 07fc3b: [WebGPU] https://threejs.org/examples/?q=webgpu#we...

mwyrzykowski noreply at github.com
Mon Aug 5 16:15:58 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07fc3bbdc11702ac4482070db59fa6b66fd2e95a
      https://github.com/WebKit/WebKit/commit/07fc3bbdc11702ac4482070db59fa6b66fd2e95a
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  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


More information about the webkit-changes mailing list