diff --git a/dom/webgpu/ComputePipeline.cpp b/dom/webgpu/ComputePipeline.cpp index 14df7f257a9c..759d8e16db46 100644 --- a/dom/webgpu/ComputePipeline.cpp +++ b/dom/webgpu/ComputePipeline.cpp @@ -33,6 +33,10 @@ void ComputePipeline::Cleanup() { mValid = false; auto bridge = mParent->GetBridge(); + if (!bridge) { + return; + } + if (bridge->CanSend()) { bridge->SendComputePipelineDrop(mId); if (mImplicitPipelineLayoutId) { @@ -54,6 +58,7 @@ void ComputePipeline::Cleanup() { already_AddRefed ComputePipeline::GetBindGroupLayout( uint32_t aIndex) const { auto bridge = mParent->GetBridge(); + MOZ_ASSERT(bridge && bridge->CanSend()); auto* client = bridge->GetClient(); ipc::ByteBuf bb; diff --git a/dom/webgpu/RenderPipeline.cpp b/dom/webgpu/RenderPipeline.cpp index aa9ffcdf9ae1..a8a0348f9de9 100644 --- a/dom/webgpu/RenderPipeline.cpp +++ b/dom/webgpu/RenderPipeline.cpp @@ -58,6 +58,7 @@ void RenderPipeline::Cleanup() { already_AddRefed RenderPipeline::GetBindGroupLayout( uint32_t aIndex) const { auto bridge = mParent->GetBridge(); + MOZ_ASSERT(bridge && bridge->CanSend()); auto* client = bridge->GetClient(); ipc::ByteBuf bb;