From 142d25c0d7085952e1ffdf8aba1c622aaaf99150 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 14 May 2023 22:50:22 +0300 Subject: [PATCH] vk: Don't erase texture cache images directly. Use gc instead. --- rpcs3/Emu/RSX/VK/VKTextureCache.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rpcs3/Emu/RSX/VK/VKTextureCache.cpp b/rpcs3/Emu/RSX/VK/VKTextureCache.cpp index 6595730b51..746b267bd4 100644 --- a/rpcs3/Emu/RSX/VK/VKTextureCache.cpp +++ b/rpcs3/Emu/RSX/VK/VKTextureCache.cpp @@ -1259,11 +1259,21 @@ namespace vk } // Nuke temporary resources. They will still be visible to the GPU. + auto gc = vk::get_resource_manager(); any_released |= !m_cached_images.empty(); + for (auto& img : m_cached_images) + { + gc->dispose(img.data); + } m_cached_images.clear(); m_cached_memory_size = 0; any_released |= !m_temporary_subresource_cache.empty(); + for (auto& e : m_temporary_subresource_cache) + { + ensure(e.second.second); + release_temporary_subresource(e.second.second); + } m_temporary_subresource_cache.clear(); return any_released;