Mesa (master): radv: fix wsi porting regression in swapchain destroy.

Dave Airlie airlied at kemper.freedesktop.org
Wed Oct 19 03:55:03 UTC 2016


Module: Mesa
Branch: master
Commit: 93ba86c307616af86bdfbae3576fc9493be418fd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=93ba86c307616af86bdfbae3576fc9493be418fd

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Oct 19 13:53:55 2016 +1000

radv: fix wsi porting regression in swapchain destroy.

The code in anv is right, there's a pending patch to fix this up
different, but I'll sync the code for now.

---

 src/amd/vulkan/radv_wsi.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c
index ba5c37b..948be63 100644
--- a/src/amd/vulkan/radv_wsi.c
+++ b/src/amd/vulkan/radv_wsi.c
@@ -280,18 +280,25 @@ VkResult radv_CreateSwapchainKHR(
 }
 
 void radv_DestroySwapchainKHR(
-	VkDevice                                     device,
+	VkDevice                                     _device,
 	VkSwapchainKHR                               _swapchain,
 	const VkAllocationCallbacks*                 pAllocator)
 {
+	RADV_FROM_HANDLE(radv_device, device, _device);
 	RADV_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
+	const VkAllocationCallbacks *alloc;
+
+	if (pAllocator)
+		alloc = pAllocator;
+	else
+		alloc = &device->alloc;
 
 	for (unsigned i = 0; i < ARRAY_SIZE(swapchain->fences); i++) {
 		if (swapchain->fences[i] != VK_NULL_HANDLE)
-			radv_DestroyFence(device, swapchain->fences[i], pAllocator);
+			radv_DestroyFence(_device, swapchain->fences[i], pAllocator);
 	}
 
-	swapchain->destroy(swapchain, pAllocator);
+	swapchain->destroy(swapchain, alloc);
 }
 
 VkResult radv_GetSwapchainImagesKHR(




More information about the mesa-commit mailing list