[PATCH 3/5] winevulkan: Remove vkAcquireNextImageKHR() from Vulkan driver functions.

Józef Kucia jkucia at codeweavers.com
Mon Jul 16 08:18:21 CDT 2018


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/dxgi/swapchain.c        |  6 +++---
 dlls/winemac.drv/vulkan.c    | 15 ---------------
 dlls/winevulkan/make_vulkan  |  3 +--
 dlls/winex11.drv/vulkan.c    | 15 ---------------
 include/wine/vulkan_driver.h |  3 +--
 5 files changed, 5 insertions(+), 37 deletions(-)

diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index ae7bde73995c..90f72d06e87a 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -1526,7 +1526,6 @@ static BOOL init_vk_funcs(struct dxgi_vk_funcs *dxgi, VkDevice vk_device)
         return FALSE;
     }
 
-    dxgi->p_vkAcquireNextImageKHR = vk->p_vkAcquireNextImageKHR;
     dxgi->p_vkCreateSwapchainKHR = vk->p_vkCreateSwapchainKHR;
     dxgi->p_vkCreateWin32SurfaceKHR = vk->p_vkCreateWin32SurfaceKHR;
     dxgi->p_vkDestroySurfaceKHR = vk->p_vkDestroySurfaceKHR;
@@ -1547,10 +1546,11 @@ static BOOL init_vk_funcs(struct dxgi_vk_funcs *dxgi, VkDevice vk_device)
         ERR("Failed to get device proc "#name".\n"); \
         return FALSE; \
     }
+    LOAD_DEVICE_PFN(vkAcquireNextImageKHR)
     LOAD_DEVICE_PFN(vkCreateFence)
-    LOAD_DEVICE_PFN(vkWaitForFences)
-    LOAD_DEVICE_PFN(vkResetFences)
     LOAD_DEVICE_PFN(vkDestroyFence)
+    LOAD_DEVICE_PFN(vkResetFences)
+    LOAD_DEVICE_PFN(vkWaitForFences)
 #undef LOAD_DEVICE_PFN
 
     return TRUE;
diff --git a/dlls/winemac.drv/vulkan.c b/dlls/winemac.drv/vulkan.c
index d590903310c5..4d1e4964bbb4 100644
--- a/dlls/winemac.drv/vulkan.c
+++ b/dlls/winemac.drv/vulkan.c
@@ -63,7 +63,6 @@ typedef struct VkMacOSSurfaceCreateInfoMVK
     const void *pView; /* NSView */
 } VkMacOSSurfaceCreateInfoMVK;
 
-static VkResult (*pvkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
 static VkResult (*pvkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
 static VkResult (*pvkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
 static VkResult (*pvkCreateMacOSSurfaceMVK)(VkInstance, const VkMacOSSurfaceCreateInfoMVK*, const VkAllocationCallbacks *, VkSurfaceKHR *);
@@ -99,7 +98,6 @@ static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
     }
 
 #define LOAD_FUNCPTR(f) if ((p##f = wine_dlsym(vulkan_handle, #f, NULL, 0)) == NULL) goto fail;
-    LOAD_FUNCPTR(vkAcquireNextImageKHR)
     LOAD_FUNCPTR(vkCreateInstance)
     LOAD_FUNCPTR(vkCreateSwapchainKHR)
     LOAD_FUNCPTR(vkCreateMacOSSurfaceMVK)
@@ -190,16 +188,6 @@ static void wine_vk_surface_destroy(VkInstance instance, struct wine_vk_surface
     heap_free(surface);
 }
 
-static VkResult macdrv_vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain,
-        uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *index)
-{
-    TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %p\n", device,
-            wine_dbgstr_longlong(swapchain), wine_dbgstr_longlong(timeout),
-            wine_dbgstr_longlong(semaphore), wine_dbgstr_longlong(fence), index);
-
-    return pvkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, index);
-}
-
 static VkResult macdrv_vkCreateInstance(const VkInstanceCreateInfo *create_info,
         const VkAllocationCallbacks *allocator, VkInstance *instance)
 {
@@ -480,7 +468,6 @@ static VkResult macdrv_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *
 
 static const struct vulkan_funcs vulkan_funcs =
 {
-    macdrv_vkAcquireNextImageKHR,
     macdrv_vkCreateInstance,
     macdrv_vkCreateSwapchainKHR,
     macdrv_vkCreateWin32SurfaceKHR,
@@ -507,8 +494,6 @@ static void *get_vulkan_driver_device_proc_addr(const struct vulkan_funcs *vulka
 
     name += 2;
 
-    if (!strcmp(name, "AcquireNextImageKHR"))
-        return vulkan_funcs->p_vkAcquireNextImageKHR;
     if (!strcmp(name, "CreateSwapchainKHR"))
         return vulkan_funcs->p_vkCreateSwapchainKHR;
     if (!strcmp(name, "DestroySwapchainKHR"))
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 3432e4f3b360..7ab92dc940bf 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -130,7 +130,7 @@ CORE_EXTENSIONS = [
 # Functions part of our winevulkan graphics driver interface.
 # DRIVER_VERSION should be bumped on any change to driver interface
 # in FUNCTION_OVERRIDES
-DRIVER_VERSION = 6
+DRIVER_VERSION = 7
 
 # Table of functions for which we have a special implementation.
 # These are regular device / instance functions for which we need
@@ -176,7 +176,6 @@ FUNCTION_OVERRIDES = {
     "vkGetPhysicalDeviceWin32PresentationSupportKHR" : {"dispatch" : True, "driver" : True, "thunk" : True},
 
     # VK_KHR_swapchain
-    "vkAcquireNextImageKHR": {"dispatch" : True, "driver" : True, "thunk" : True},
     "vkCreateSwapchainKHR" : {"dispatch" : True, "driver" : True, "thunk" : True},
     "vkDestroySwapchainKHR" : {"dispatch" : True, "driver" : True, "thunk" : True},
     "vkGetSwapchainImagesKHR": {"dispatch" : True, "driver" : True, "thunk" : True},
diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c
index 93c3065c0593..e0d576b144fd 100644
--- a/dlls/winex11.drv/vulkan.c
+++ b/dlls/winex11.drv/vulkan.c
@@ -74,7 +74,6 @@ typedef struct VkXlibSurfaceCreateInfoKHR
     Window window;
 } VkXlibSurfaceCreateInfoKHR;
 
-static VkResult (*pvkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
 static VkResult (*pvkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
 static VkResult (*pvkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
 static VkResult (*pvkCreateXlibSurfaceKHR)(VkInstance, const VkXlibSurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
@@ -114,7 +113,6 @@ static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
 
 #define LOAD_FUNCPTR(f) if (!(p##f = wine_dlsym(vulkan_handle, #f, NULL, 0))) goto fail;
 #define LOAD_OPTIONAL_FUNCPTR(f) p##f = wine_dlsym(vulkan_handle, #f, NULL, 0);
-    LOAD_FUNCPTR(vkAcquireNextImageKHR)
     LOAD_FUNCPTR(vkCreateInstance)
     LOAD_FUNCPTR(vkCreateSwapchainKHR)
     LOAD_FUNCPTR(vkCreateXlibSurfaceKHR)
@@ -223,16 +221,6 @@ void wine_vk_surface_destroy(HWND hwnd)
     LeaveCriticalSection(&context_section);
 }
 
-static VkResult X11DRV_vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain,
-        uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t *index)
-{
-    TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %p\n", device,
-            wine_dbgstr_longlong(swapchain), wine_dbgstr_longlong(timeout),
-            wine_dbgstr_longlong(semaphore), wine_dbgstr_longlong(fence), index);
-
-    return pvkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, index);
-}
-
 static VkResult X11DRV_vkCreateInstance(const VkInstanceCreateInfo *create_info,
         const VkAllocationCallbacks *allocator, VkInstance *instance)
 {
@@ -532,7 +520,6 @@ static VkResult X11DRV_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *
 
 static const struct vulkan_funcs vulkan_funcs =
 {
-    X11DRV_vkAcquireNextImageKHR,
     X11DRV_vkCreateInstance,
     X11DRV_vkCreateSwapchainKHR,
     X11DRV_vkCreateWin32SurfaceKHR,
@@ -561,8 +548,6 @@ static void *get_vulkan_driver_device_proc_addr(const struct vulkan_funcs *vulka
 
     name += 2;
 
-    if (!strcmp(name, "AcquireNextImageKHR"))
-        return vulkan_funcs->p_vkAcquireNextImageKHR;
     if (!strcmp(name, "CreateSwapchainKHR"))
         return vulkan_funcs->p_vkCreateSwapchainKHR;
     if (!strcmp(name, "DestroySwapchainKHR"))
diff --git a/include/wine/vulkan_driver.h b/include/wine/vulkan_driver.h
index 790d63076d39..d009f12832f3 100644
--- a/include/wine/vulkan_driver.h
+++ b/include/wine/vulkan_driver.h
@@ -39,7 +39,7 @@
 #define __WINE_VULKAN_DRIVER_H
 
 /* Wine internal vulkan driver version, needs to be bumped upon vulkan_funcs changes. */
-#define WINE_VULKAN_DRIVER_VERSION 6
+#define WINE_VULKAN_DRIVER_VERSION 7
 
 struct vulkan_funcs
 {
@@ -47,7 +47,6 @@ struct vulkan_funcs
      * needs to provide. Other function calls will be provided indirectly by dispatch
      * tables part of dispatchable Vulkan objects such as VkInstance or vkDevice.
      */
-    VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
     VkResult (*p_vkCreateInstance)(const VkInstanceCreateInfo *, const VkAllocationCallbacks *, VkInstance *);
     VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
     VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
-- 
2.16.4




More information about the wine-devel mailing list