From 93ba86c307616af86bdfbae3576fc9493be418fd Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 19 Oct 2016 13:53:55 +1000 Subject: 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(-) (limited to 'src/amd/vulkan') 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( -- cgit v1.1