summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan
diff options
context:
space:
mode:
authorFlorian Kothmeier <floriankothmeier@web.de>2023-07-25 14:41:57 +0200
committerFlorian Kothmeier <floriankothmeier@web.de>2023-07-25 14:41:57 +0200
commit7f7a2b25570c8808e6194b2587223cabd748f80e (patch)
tree0dd647485c557959f478242372d511a38d188568 /drivers/vulkan
parentf6187014ec1d7a47b7201f64f3a8376a5da2f42d (diff)
downloadredot-engine-7f7a2b25570c8808e6194b2587223cabd748f80e.tar.gz
Fix dangling pointers in _clean_up_swap_chain
Diffstat (limited to 'drivers/vulkan')
-rw-r--r--drivers/vulkan/vulkan_context.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/vulkan/vulkan_context.cpp b/drivers/vulkan/vulkan_context.cpp
index 7c52447e44..3a1330b331 100644
--- a/drivers/vulkan/vulkan_context.cpp
+++ b/drivers/vulkan/vulkan_context.cpp
@@ -1775,6 +1775,7 @@ Error VulkanContext::_clean_up_swap_chain(Window *window) {
fpDestroySwapchainKHR(device, window->swapchain, nullptr);
window->swapchain = VK_NULL_HANDLE;
vkDestroyRenderPass(device, window->render_pass, nullptr);
+ window->render_pass = VK_NULL_HANDLE;
if (window->swapchain_image_resources) {
for (uint32_t i = 0; i < swapchainImageCount; i++) {
vkDestroyImageView(device, window->swapchain_image_resources[i].view, nullptr);
@@ -1783,6 +1784,7 @@ Error VulkanContext::_clean_up_swap_chain(Window *window) {
free(window->swapchain_image_resources);
window->swapchain_image_resources = nullptr;
+ swapchainImageCount = 0;
}
if (separate_present_queue) {
vkDestroyCommandPool(device, window->present_cmd_pool, nullptr);