Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6f7dff2d0c2e09e7a75f54face529d1f6576aa9d https://github.com/WebKit/WebKit/commit/6f7dff2d0c2e09e7a75f54face529d1f6576aa9d Author: Mike Wyrzykowski <mwyrzykow...@apple.com> Date: 2024-08-25 (Sun, 25 Aug 2024)
Changed paths: M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUAdapter.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBindGroup.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUCommandBuffer.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUCommandEncoder.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUComputePassEncoder.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUComputePipeline.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUExternalTexture.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUPresentationContext.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUQueue.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderBundle.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderBundleEncoder.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderPassEncoder.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderPipeline.h M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUSampler.h M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteBindGroup.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteDevice.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/WebGPUObjectHeap.cpp M Source/WebKit/GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h M Source/WebKit/Shared/WebGPU/WebGPUBindGroupDescriptor.cpp M Source/WebKit/Shared/WebGPU/WebGPUBindGroupEntry.cpp M Source/WebKit/Shared/WebGPU/WebGPUBufferBinding.cpp M Source/WebKit/Shared/WebGPU/WebGPUCanvasConfiguration.cpp M Source/WebKit/Shared/WebGPU/WebGPUComputePassTimestampWrites.cpp M Source/WebKit/Shared/WebGPU/WebGPUConvertFromBackingContext.h M Source/WebKit/Shared/WebGPU/WebGPUImageCopyBuffer.cpp M Source/WebKit/Shared/WebGPU/WebGPUImageCopyTexture.cpp M Source/WebKit/Shared/WebGPU/WebGPUPipelineDescriptorBase.cpp M Source/WebKit/Shared/WebGPU/WebGPUPipelineLayoutDescriptor.cpp M Source/WebKit/Shared/WebGPU/WebGPUPresentationContextDescriptor.cpp M Source/WebKit/Shared/WebGPU/WebGPUProgrammableStage.cpp M Source/WebKit/Shared/WebGPU/WebGPURenderPassColorAttachment.cpp M Source/WebKit/Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.cpp M Source/WebKit/Shared/WebGPU/WebGPURenderPassDescriptor.cpp M Source/WebKit/Shared/WebGPU/WebGPURenderPassTimestampWrites.cpp M Source/WebKit/Shared/WebGPU/WebGPUShaderModuleCompilationHint.cpp Log Message: ----------- [WebGPU] Smart pointer adoption in WebGPUObjectHeap https://bugs.webkit.org/show_bug.cgi?id=278466 rdar://132090218 Reviewed by Dan Glastonbury. We have seen an issue or two where an object returned from the WebGPUObjectHeap is passed to a lambda or completion handler and its lifetime expires during that period. To avoid these issues, return WeakPtr from the ObjectHeap so the caller is aware and does not assume the returned value is a RefPtr or WeakPtr. * Source/WebKit/GPUProcess/graphics/WebGPU/WebGPUObjectHeap.cpp: (WebKit::WebGPU::ObjectHeap::convertAdapterFromBacking): (WebKit::WebGPU::ObjectHeap::convertBindGroupFromBacking): (WebKit::WebGPU::ObjectHeap::convertBindGroupLayoutFromBacking): (WebKit::WebGPU::ObjectHeap::convertBufferFromBacking): (WebKit::WebGPU::ObjectHeap::convertCommandBufferFromBacking): (WebKit::WebGPU::ObjectHeap::convertCommandEncoderFromBacking): (WebKit::WebGPU::ObjectHeap::convertCompositorIntegrationFromBacking): (WebKit::WebGPU::ObjectHeap::convertComputePassEncoderFromBacking): (WebKit::WebGPU::ObjectHeap::convertComputePipelineFromBacking): (WebKit::WebGPU::ObjectHeap::convertDeviceFromBacking): (WebKit::WebGPU::ObjectHeap::convertExternalTextureFromBacking): (WebKit::WebGPU::ObjectHeap::convertPipelineLayoutFromBacking): (WebKit::WebGPU::ObjectHeap::convertPresentationContextFromBacking): (WebKit::WebGPU::ObjectHeap::convertQuerySetFromBacking): (WebKit::WebGPU::ObjectHeap::convertQueueFromBacking): (WebKit::WebGPU::ObjectHeap::convertRenderBundleEncoderFromBacking): (WebKit::WebGPU::ObjectHeap::convertRenderBundleFromBacking): (WebKit::WebGPU::ObjectHeap::convertRenderPassEncoderFromBacking): (WebKit::WebGPU::ObjectHeap::convertRenderPipelineFromBacking): (WebKit::WebGPU::ObjectHeap::convertSamplerFromBacking): (WebKit::WebGPU::ObjectHeap::convertShaderModuleFromBacking): (WebKit::WebGPU::ObjectHeap::convertTextureFromBacking): (WebKit::WebGPU::ObjectHeap::convertTextureViewFromBacking): (WebKit::WebGPU::ObjectHeap::convertXRBindingFromBacking): (WebKit::WebGPU::ObjectHeap::convertXRSubImageFromBacking): (WebKit::WebGPU::ObjectHeap::convertXRProjectionLayerFromBacking): (WebKit::WebGPU::ObjectHeap::createXRViewFromBacking): * Source/WebKit/GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h: * Source/WebKit/Shared/WebGPU/WebGPUBufferBinding.cpp: (WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking): * Source/WebKit/Shared/WebGPU/WebGPUCanvasConfiguration.cpp: (WebKit::WebGPU::ConvertFromBackingContext::convertFromBacking): * Source/WebKit/Shared/WebGPU/WebGPUConvertFromBackingContext.h: Canonical link: https://commits.webkit.org/282716@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes