libvulkan: add NULL check to DestroySwapchainKHR
vkDestroySwapchainKHR is required to silently ignore NULL handles
that are provided to it to destroy.
This adds an early return if swapchain_handle is NULL.
Test: dEQP-VK.wsi.android.swapchain.destroy.null_handle (VK 1.0.2 CTS)
Change-Id: Ic230f114a680210cb0e0de931b17e4d70fb27f44
diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp
index 63c597c..da8de11 100644
--- a/vulkan/libvulkan/swapchain.cpp
+++ b/vulkan/libvulkan/swapchain.cpp
@@ -723,6 +723,8 @@
const VkAllocationCallbacks* allocator) {
const auto& dispatch = GetData(device).driver;
Swapchain* swapchain = SwapchainFromHandle(swapchain_handle);
+ if (!swapchain)
+ return;
bool active = swapchain->surface.swapchain_handle == swapchain_handle;
ANativeWindow* window = active ? swapchain->surface.window.get() : nullptr;