vulkan: Implement vk_ext_khr_*swapchain extensions

Change-Id: I46312c9ba1332e0a5b8ac4c1b5608f0465c3962c
(cherry picked from commit e5ca41cb11212bbfbd608eddb92d794e12e1528e)
diff --git a/vulkan/libvulkan/loader.h b/vulkan/libvulkan/loader.h
index db5c4d3..d0e476c 100644
--- a/vulkan/libvulkan/loader.h
+++ b/vulkan/libvulkan/loader.h
@@ -234,6 +234,14 @@
                              VkCmdBuffer* out_cmdbuf);
 VkResult DestroyDevice(VkDevice drv_device);
 
+void* AllocDeviceMem(VkDevice device,
+                     size_t size,
+                     size_t align,
+                     VkSystemAllocType type);
+void FreeDeviceMem(VkDevice device, void* ptr);
+const DeviceVtbl& GetDriverVtbl(VkDevice device);
+const DeviceVtbl& GetDriverVtbl(VkQueue queue);
+
 // -----------------------------------------------------------------------------
 // get_proc_addr.cpp
 
@@ -272,14 +280,14 @@
                                    VkPresentModeKHR* modes);
 VkResult CreateSwapchainKHR(VkDevice device,
                             const VkSwapchainCreateInfoKHR* create_info,
-                            VkSwapchainKHR* swapchain);
-VkResult DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain);
+                            VkSwapchainKHR* swapchain_handle);
+VkResult DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain_handle);
 VkResult GetSwapchainImagesKHR(VkDevice device,
-                               VkSwapchainKHR swapchain,
+                               VkSwapchainKHR swapchain_handle,
                                uint32_t* count,
-                               VkImage* image);
+                               VkImage* images);
 VkResult AcquireNextImageKHR(VkDevice device,
-                             VkSwapchainKHR swapchain,
+                             VkSwapchainKHR swapchain_handle,
                              uint64_t timeout,
                              VkSemaphore semaphore,
                              uint32_t* image_index);