From 3fcc9405861db8861c22465ac3a04ccb32a96e7f Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Thu, 24 Feb 2022 12:04:41 -0800 Subject: [PATCH] destroy render passes and framebuffers on exit --- src/Refresh_Driver_Vulkan.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/Refresh_Driver_Vulkan.c b/src/Refresh_Driver_Vulkan.c index 08124ee..139720f 100644 --- a/src/Refresh_Driver_Vulkan.c +++ b/src/Refresh_Driver_Vulkan.c @@ -4376,6 +4376,28 @@ static void VULKAN_DestroyDevice( NULL ); + for (i = 0; i < renderer->framebufferHashArray.count; i += 1) + { + renderer->vkDestroyFramebuffer( + renderer->logicalDevice, + renderer->framebufferHashArray.elements[i].value, + NULL + ); + } + + SDL_free(renderer->framebufferHashArray.elements); + + for (i = 0; i < renderer->renderPassHashArray.count; i += 1) + { + renderer->vkDestroyRenderPass( + renderer->logicalDevice, + renderer->renderPassHashArray.elements[i].value, + NULL + ); + } + + SDL_free(renderer->renderPassHashArray.elements); + VULKAN_INTERNAL_DestroyUniformBufferPool(renderer, renderer->vertexUniformBufferPool); VULKAN_INTERNAL_DestroyUniformBufferPool(renderer, renderer->fragmentUniformBufferPool); VULKAN_INTERNAL_DestroyUniformBufferPool(renderer, renderer->computeUniformBufferPool);