[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