diff --git a/lsfg-vk-layer/src/entrypoint.cpp b/lsfg-vk-layer/src/entrypoint.cpp index 266afde..6833423 100644 --- a/lsfg-vk-layer/src/entrypoint.cpp +++ b/lsfg-vk-layer/src/entrypoint.cpp @@ -285,6 +285,10 @@ namespace { try { // retire old swapchain if (info->oldSwapchain) { + const auto& info_mapping = instance_info->swapchainInfos.find(info->oldSwapchain); + if (info_mapping != instance_info->swapchainInfos.end()) + instance_info->swapchainInfos.erase(info_mapping); + const auto& mapping = instance_info->swapchains.find(info->oldSwapchain); if (mapping != instance_info->swapchains.end()) instance_info->swapchains.erase(mapping); @@ -425,6 +429,10 @@ namespace { if (it == instance_info->devices.end()) return; + const auto& info_mapping = instance_info->swapchainInfos.find(swapchain); + if (info_mapping != instance_info->swapchainInfos.end()) + instance_info->swapchainInfos.erase(info_mapping); + const auto& mapping = instance_info->swapchains.find(swapchain); if (mapping != instance_info->swapchains.end()) instance_info->swapchains.erase(mapping);