diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp index 9487ee845..3e1b72782 100644 --- a/src/libANGLE/renderer/vulkan/RendererVk.cpp +++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp @@ -1412,17 +1412,7 @@ RendererVk::RendererVk() ASSERT(IsLittleEndian()); } -RendererVk::~RendererVk() -{ - mAllocator.release(); - mPipelineCache.release(); - ASSERT(!hasSharedGarbage()); - - if (mLibVulkanLibrary) - { - angle::CloseSystemLibrary(mLibVulkanLibrary); - } -} +RendererVk::~RendererVk() {} bool RendererVk::hasSharedGarbage() { @@ -1496,6 +1486,14 @@ void RendererVk::onDestroy(vk::Context *context) mEnabledInstanceExtensions.clear(); mEnabledDeviceExtensions.clear(); + + ASSERT(!hasSharedGarbage()); + + if (mLibVulkanLibrary) + { + angle::CloseSystemLibrary(mLibVulkanLibrary); + mLibVulkanLibrary = nullptr; + } } void RendererVk::notifyDeviceLost()