From f00832f2f9319e0d7b20b17a9e46576cd92ad514 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 6 Jul 2018 16:44:20 +0100 Subject: [PATCH] Fix vulkan shutdown crash, destroy GPUBuffer before device/instance --- renderdoc/driver/vulkan/vk_core.cpp | 2 -- renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 548db9946..f6ff530d5 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -176,8 +176,6 @@ WrappedVulkan::~WrappedVulkan() if(VkMarkerRegion::vk == this) VkMarkerRegion::vk = NULL; - m_IndirectBuffer.Destroy(); - // in case the application leaked some objects, avoid crashing trying // to release them ourselves by clearing the resource manager. // In a well-behaved application, this should be a no-op. diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index b7ebd9bf9..d8749eb1e 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -592,6 +592,8 @@ void WrappedVulkan::Shutdown() m_Replay.DestroyResources(); + m_IndirectBuffer.Destroy(); + // destroy debug manager and any objects it created SAFE_DELETE(m_DebugManager); SAFE_DELETE(m_ShaderCache);