[webkit-changes] [WebKit/WebKit] 901390: [WebGPU] Implement resource deallocation
mwyrzykowski
noreply at github.com
Wed Mar 22 18:14:27 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9013908c531cdd2c7bdd7b6e5f58fedfa2b901c7
https://github.com/WebKit/WebKit/commit/9013908c531cdd2c7bdd7b6e5f58fedfa2b901c7
Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
Date: 2023-03-22 (Wed, 22 Mar 2023)
Changed paths:
M Source/WebGPU/WebGPU/RenderPipeline.mm
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.messages.in
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/RemoteBindGroupLayout.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCompositorIntegration.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCompositorIntegration.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCompositorIntegration.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.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/GPUProcess/graphics/WebGPU/RemoteExternalTexture.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQuerySet.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQuerySet.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQuerySet.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteShaderModule.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteShaderModule.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteShaderModule.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.messages.in
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.h
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.messages.in
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCompositorIntegrationProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.cpp
Log Message:
-----------
[WebGPU] Implement resource deallocation
https://bugs.webkit.org/show_bug.cgi?id=250865
<radar://103963935>
Reviewed by Myles C. Maxfield.
When the proxy objects are destroyed they need to tell
the GPU process to destroy the corresponding objects.
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::RenderPipeline::getBindGroupLayout):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.cpp:
(WebKit::RemoteAdapter::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteAdapter.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp:
(WebKit::RemoteBindGroup::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.cpp:
(WebKit::RemoteBindGroupLayout::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBuffer.cpp:
(WebKit::RemoteBuffer::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.cpp:
(WebKit::RemoteCommandBuffer::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandBuffer.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.cpp:
(WebKit::RemoteCommandEncoder::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteCommandEncoder.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.cpp:
(WebKit::RemoteComputePassEncoder::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.cpp:
(WebKit::RemoteComputePipeline::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteComputePipeline.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.cpp:
(WebKit::RemoteExternalTexture::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteExternalTexture.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::RemoteGPU::RemoteGPU):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.cpp:
(WebKit::RemotePipelineLayout::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemotePipelineLayout.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQuerySet.cpp:
(WebKit::RemoteQuerySet::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.cpp:
(WebKit::RemoteQueue::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.cpp:
(WebKit::RemoteRenderBundle::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundle.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp:
(WebKit::RemoteRenderBundleEncoder::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp:
(WebKit::RemoteRenderPassEncoder::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.cpp:
(WebKit::RemoteRenderPipeline::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPipeline.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.cpp:
(WebKit::RemoteSampler::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteSampler.messages.in:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteShaderModule.cpp:
(WebKit::RemoteShaderModule::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteShaderModule.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTexture.cpp:
(WebKit::RemoteTexture::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.cpp:
(WebKit::RemoteTextureView::destroy):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteTextureView.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.cpp:
(WebKit::WebGPU::RemoteBindGroupLayoutProxy::~RemoteBindGroupLayoutProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.cpp:
(WebKit::WebGPU::RemoteBindGroupProxy::~RemoteBindGroupProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.cpp:
(WebKit::WebGPU::RemoteCommandBufferProxy::RemoteCommandBufferProxy):
(WebKit::WebGPU::RemoteCommandBufferProxy::~RemoteCommandBufferProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.cpp:
(WebKit::WebGPU::RemoteCommandEncoderProxy::~RemoteCommandEncoderProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteComputePassEncoderProxy::~RemoteComputePassEncoderProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.cpp:
(WebKit::WebGPU::RemoteComputePipelineProxy::~RemoteComputePipelineProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.cpp:
(WebKit::WebGPU::RemoteExternalTextureProxy::~RemoteExternalTextureProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.cpp:
(WebKit::WebGPU::RemotePipelineLayoutProxy::~RemotePipelineLayoutProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.cpp:
(WebKit::WebGPU::RemoteQuerySetProxy::~RemoteQuerySetProxy):
(WebKit::WebGPU::RemoteQuerySetProxy::destroy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.cpp:
(WebKit::WebGPU::RemoteQueueProxy::RemoteQueueProxy):
(WebKit::WebGPU::RemoteQueueProxy::~RemoteQueueProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.cpp:
(WebKit::WebGPU::RemoteRenderBundleEncoderProxy::~RemoteRenderBundleEncoderProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.cpp:
(WebKit::WebGPU::RemoteRenderBundleProxy::~RemoteRenderBundleProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.cpp:
(WebKit::WebGPU::RemoteRenderPassEncoderProxy::~RemoteRenderPassEncoderProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.cpp:
(WebKit::WebGPU::RemoteRenderPipelineProxy::~RemoteRenderPipelineProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.cpp:
(WebKit::WebGPU::RemoteSamplerProxy::~RemoteSamplerProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.cpp:
(WebKit::WebGPU::RemoteShaderModuleProxy::~RemoteShaderModuleProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.cpp:
(WebKit::WebGPU::RemoteTextureProxy::~RemoteTextureProxy):
(WebKit::WebGPU::RemoteTextureProxy::destroy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.cpp:
(WebKit::WebGPU::RemoteTextureViewProxy::~RemoteTextureViewProxy):
Canonical link: https://commits.webkit.org/261998@main
More information about the webkit-changes
mailing list