From: Richard Huang Date: Fri, 23 May 2025 16:44:53 +0000 (+0100) Subject: Destroy Vulkan pipeline objects properly X-Git-Tag: dali_2.4.21~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7705486ca507f76f84eb0898c20ebd705fc1102e;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Destroy Vulkan pipeline objects properly Change-Id: I1933cfd2e95b556cb7f77c0b354cb37862d7ad94 --- diff --git a/dali/internal/graphics/vulkan-impl/vulkan-pipeline-impl.cpp b/dali/internal/graphics/vulkan-impl/vulkan-pipeline-impl.cpp index 2b5c42528..6e2b1c934 100644 --- a/dali/internal/graphics/vulkan-impl/vulkan-pipeline-impl.cpp +++ b/dali/internal/graphics/vulkan-impl/vulkan-pipeline-impl.cpp @@ -314,7 +314,20 @@ uint32_t PipelineImpl::GetRefCount() const return 0; // mRefCount; } -PipelineImpl::~PipelineImpl() = default; +PipelineImpl::~PipelineImpl() +{ + auto vkDevice = mController.GetGraphicsDevice().GetLogicalDevice(); + for(auto& entry : mPipelineForDepthStateCache) + { + if(entry.pipeline) + { + vkDevice.destroyPipeline(entry.pipeline); + entry.pipeline = nullptr; + } + } + + mPipelineForDepthStateCache.clear(); +} void PipelineImpl::InitializePipeline() {