From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/vulkan.c | 7 +++---- dlls/winemac.drv/vulkan.c | 6 +++--- dlls/winewayland.drv/vulkan.c | 4 ++-- dlls/winex11.drv/vulkan.c | 4 ++-- include/wine/vulkan_driver.h | 4 ++-- 5 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/dlls/win32u/vulkan.c b/dlls/win32u/vulkan.c index 6d8a5ef1b29..09a44e6b6f5 100644 --- a/dlls/win32u/vulkan.c +++ b/dlls/win32u/vulkan.c @@ -101,8 +101,7 @@ static VkResult win32u_vkCreateWin32SurfaceKHR( VkInstance client_instance, cons surface->hwnd = dummy; }
- if ((res = driver_funcs->p_vulkan_surface_create( surface->hwnd, instance->host.instance, - &host_surface, &surface->driver_private ))) + if ((res = driver_funcs->p_vulkan_surface_create( surface->hwnd, instance, &host_surface, &surface->driver_private ))) { if (dummy) NtUserDestroyWindow( dummy ); free( surface ); @@ -509,7 +508,7 @@ static struct vulkan_funcs vulkan_funcs = .p_get_host_surface_extension = win32u_get_host_surface_extension, };
-static VkResult nulldrv_vulkan_surface_create( HWND hwnd, VkInstance instance, VkSurfaceKHR *surface, void **private ) +static VkResult nulldrv_vulkan_surface_create( HWND hwnd, const struct vulkan_instance *instance, VkSurfaceKHR *surface, void **private ) { FIXME( "stub!\n" ); return VK_ERROR_INCOMPATIBLE_DRIVER; @@ -573,7 +572,7 @@ static void vulkan_driver_load(void) pthread_once( &init_once, vulkan_driver_init ); }
-static VkResult lazydrv_vulkan_surface_create( HWND hwnd, VkInstance instance, VkSurfaceKHR *surface, void **private ) +static VkResult lazydrv_vulkan_surface_create( HWND hwnd, const struct vulkan_instance *instance, VkSurfaceKHR *surface, void **private ) { vulkan_driver_load(); return driver_funcs->p_vulkan_surface_create( hwnd, instance, surface, private ); diff --git a/dlls/winemac.drv/vulkan.c b/dlls/winemac.drv/vulkan.c index 8b375b6a53c..d08b8ec12ab 100644 --- a/dlls/winemac.drv/vulkan.c +++ b/dlls/winemac.drv/vulkan.c @@ -88,7 +88,7 @@ static void wine_vk_surface_destroy(struct wine_vk_surface *surface) free(surface); }
-static VkResult macdrv_vulkan_surface_create(HWND hwnd, VkInstance instance, VkSurfaceKHR *surface, void **private) +static VkResult macdrv_vulkan_surface_create(HWND hwnd, const struct vulkan_instance *instance, VkSurfaceKHR *surface, void **private) { VkResult res; struct wine_vk_surface *mac_surface; @@ -135,7 +135,7 @@ static VkResult macdrv_vulkan_surface_create(HWND hwnd, VkInstance instance, VkS create_info_host.flags = 0; /* reserved */ create_info_host.pLayer = macdrv_view_get_metal_layer(mac_surface->view);
- res = pvkCreateMetalSurfaceEXT(instance, &create_info_host, NULL /* allocator */, surface); + res = pvkCreateMetalSurfaceEXT(instance->host.instance, &create_info_host, NULL /* allocator */, surface); } else { @@ -145,7 +145,7 @@ static VkResult macdrv_vulkan_surface_create(HWND hwnd, VkInstance instance, VkS create_info_host.flags = 0; /* reserved */ create_info_host.pView = macdrv_view_get_metal_layer(mac_surface->view);
- res = pvkCreateMacOSSurfaceMVK(instance, &create_info_host, NULL /* allocator */, surface); + res = pvkCreateMacOSSurfaceMVK(instance->host.instance, &create_info_host, NULL /* allocator */, surface); } if (res != VK_SUCCESS) { diff --git a/dlls/winewayland.drv/vulkan.c b/dlls/winewayland.drv/vulkan.c index 3ac23676f0d..4774f11771c 100644 --- a/dlls/winewayland.drv/vulkan.c +++ b/dlls/winewayland.drv/vulkan.c @@ -66,7 +66,7 @@ static void wine_vk_surface_destroy(struct wayland_client_surface *client) if (data) wayland_win_data_release(data); }
-static VkResult wayland_vulkan_surface_create(HWND hwnd, VkInstance instance, VkSurfaceKHR *surface, void **private) +static VkResult wayland_vulkan_surface_create(HWND hwnd, const struct vulkan_instance *instance, VkSurfaceKHR *surface, void **private) { VkResult res; VkWaylandSurfaceCreateInfoKHR create_info_host; @@ -86,7 +86,7 @@ static VkResult wayland_vulkan_surface_create(HWND hwnd, VkInstance instance, Vk create_info_host.display = process_wayland.wl_display; create_info_host.surface = client->wl_surface;
- res = pvkCreateWaylandSurfaceKHR(instance, &create_info_host, + res = pvkCreateWaylandSurfaceKHR(instance->host.instance, &create_info_host, NULL /* allocator */, surface); if (res != VK_SUCCESS) diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c index e462559ea82..f4442803788 100644 --- a/dlls/winex11.drv/vulkan.c +++ b/dlls/winex11.drv/vulkan.c @@ -80,7 +80,7 @@ static void vulkan_surface_destroy( HWND hwnd, struct x11drv_vulkan_surface *sur free( surface ); }
-static VkResult X11DRV_vulkan_surface_create( HWND hwnd, VkInstance instance, VkSurfaceKHR *handle, void **private ) +static VkResult X11DRV_vulkan_surface_create( HWND hwnd, const struct vulkan_instance *instance, VkSurfaceKHR *handle, void **private ) { VkXlibSurfaceCreateInfoKHR info = { @@ -105,7 +105,7 @@ static VkResult X11DRV_vulkan_surface_create( HWND hwnd, VkInstance instance, Vk NtUserGetClientRect( hwnd, &surface->rect, NtUserGetDpiForWindow( hwnd ) );
info.window = surface->window; - if (pvkCreateXlibSurfaceKHR( instance, &info, NULL /* allocator */, handle )) + if (pvkCreateXlibSurfaceKHR( instance->host.instance, &info, NULL /* allocator */, handle )) { ERR("Failed to create Xlib surface\n"); vulkan_surface_destroy( hwnd, surface ); diff --git a/include/wine/vulkan_driver.h b/include/wine/vulkan_driver.h index 4b4908f201e..cef551cf670 100644 --- a/include/wine/vulkan_driver.h +++ b/include/wine/vulkan_driver.h @@ -46,7 +46,7 @@ struct vulkan_client_object #include "wine/rbtree.h"
/* Wine internal vulkan driver version, needs to be bumped upon vulkan_funcs changes. */ -#define WINE_VULKAN_DRIVER_VERSION 35 +#define WINE_VULKAN_DRIVER_VERSION 36
struct vulkan_object { @@ -175,7 +175,7 @@ struct vulkan_funcs /* interface between win32u and the user drivers */ struct vulkan_driver_funcs { - VkResult (*p_vulkan_surface_create)(HWND, VkInstance, VkSurfaceKHR *, void **); + VkResult (*p_vulkan_surface_create)(HWND, const struct vulkan_instance *, VkSurfaceKHR *, void **); void (*p_vulkan_surface_destroy)(HWND, void *); void (*p_vulkan_surface_detach)(HWND, void *); void (*p_vulkan_surface_update)(HWND, void *);