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