diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index 574b27968..2b7424d55 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -657,6 +657,8 @@ void WrappedVulkan::vkDestroySurfaceKHR( // now set record pointer back to NULL so no-one tries to delete it wrapper->record = NULL; + VkSurfaceKHR unwrappedObj = wrapper->real.As(); + GetResourceManager()->ReleaseWrappedResource(surface, true); - ObjDisp(instance)->DestroySurfaceKHR(Unwrap(instance), wrapper->real.As(), pAllocator); + ObjDisp(instance)->DestroySurfaceKHR(Unwrap(instance), unwrappedObj, pAllocator); }