瀏覽代碼

Merge pull request #79884 from Dragoncraft89/master

Vulkan: Fix dangling pointers in `_clean_up_swap_chain`
Yuri Sizov 2 年之前
父節點
當前提交
202e4b2c1e
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/vulkan/vulkan_context.cpp

+ 2 - 0
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);