diff --git a/openVulkanoCpp/Vulkan/CommandHelper.hpp b/openVulkanoCpp/Vulkan/CommandHelper.hpp index 0ee2b79..f109db3 100644 --- a/openVulkanoCpp/Vulkan/CommandHelper.hpp +++ b/openVulkanoCpp/Vulkan/CommandHelper.hpp @@ -46,6 +46,7 @@ namespace OpenVulkano { device.freeCommandBuffers(cmdPool, 1, &cmdBuffer); device.destroyCommandPool(cmdPool); + cmdPool = nullptr; } }; } diff --git a/openVulkanoCpp/Vulkan/Context.cpp b/openVulkanoCpp/Vulkan/Context.cpp index 308256a..b34f8b7 100644 --- a/openVulkanoCpp/Vulkan/Context.cpp +++ b/openVulkanoCpp/Vulkan/Context.cpp @@ -45,6 +45,7 @@ namespace OpenVulkano::Vulkan swapChainRenderPass.Close(); swapChain.Close(); + device = nullptr; deviceManager.Close(); vkDestroySurfaceKHR(static_cast(instance), surface, nullptr); //TODO diff --git a/openVulkanoCpp/Vulkan/Renderer.cpp b/openVulkanoCpp/Vulkan/Renderer.cpp index 92b57a0..d05abed 100644 --- a/openVulkanoCpp/Vulkan/Renderer.cpp +++ b/openVulkanoCpp/Vulkan/Renderer.cpp @@ -81,6 +81,7 @@ namespace OpenVulkano::Vulkan } uiRenderer.Close(); resourceManager.Close(); + commands.clear(); context.Close(); scene = nullptr; } diff --git a/openVulkanoCpp/Vulkan/Resources/ResourceManager.cpp b/openVulkanoCpp/Vulkan/Resources/ResourceManager.cpp index 7aad414..c49030a 100644 --- a/openVulkanoCpp/Vulkan/Resources/ResourceManager.cpp +++ b/openVulkanoCpp/Vulkan/Resources/ResourceManager.cpp @@ -114,6 +114,7 @@ namespace OpenVulkano::Vulkan } descriptorSetLayoutCache.clear(); shaders.clear(); + frameResources = {}; memPool.Close(); device = nullptr; } diff --git a/openVulkanoCpp/Vulkan/UiRenderer.cpp b/openVulkanoCpp/Vulkan/UiRenderer.cpp index f675f34..e34bf85 100644 --- a/openVulkanoCpp/Vulkan/UiRenderer.cpp +++ b/openVulkanoCpp/Vulkan/UiRenderer.cpp @@ -85,6 +85,7 @@ namespace OpenVulkano::Vulkan #endif ImGui_ImplVulkan_Shutdown(); device.destroy(descriptorPool); + uiRenderPass.Close(); } void UiRenderer::BeginUiFrame() const