From 002ae7adff5886e3ad62230ed140df64c451ec10 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 11 Dec 2015 00:10:12 +0100 Subject: [PATCH] Fetch unwrapped surface pointer before releasing wrapped object --- renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); }