From 1a8e019e369fe43ff60ae667494b879d9e01da3e Mon Sep 17 00:00:00 2001 From: Collecting Date: Fri, 9 Jan 2026 04:48:01 +0000 Subject: [PATCH] fix(core): Properly release memory when stopping emulation Signed-off-by: Collecting --- .../renderer_vulkan/vk_staging_buffer_pool.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 7e6d8d17d..a6b331e05 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp @@ -322,4 +322,17 @@ void StagingBufferPool::ReleaseLevel(StagingBuffersCache& cache, size_t log2) { } } +void StagingBufferPool::Nuke() { + auto nuke_cache = [](StagingBuffersCache& cache) { + for (auto& level : cache) { + level.entries.clear(); + level.entries.shrink_to_fit(); + } + }; + nuke_cache(device_local_cache); + nuke_cache(upload_cache); + nuke_cache(download_cache); + stream_buffer.reset(); +} + } // namespace Vulkan