Signed-off-by: Georg Lehmann <dadschoorse(a)gmail.com> --- dlls/winex11.drv/vulkan.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c index bdc287afeea..1bbdba2ce1d 100644 --- a/dlls/winex11.drv/vulkan.c +++ b/dlls/winex11.drv/vulkan.c @@ -435,12 +435,25 @@ static VkResult X11DRV_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device, return pvkGetDeviceGroupSurfacePresentModesKHR(device, x11_surface->surface, flags); } +static const char *wine_vk_native_fn_name(const char *name) +{ + if (!strcmp(name, "vkCreateWin32SurfaceKHR")) + return "vkCreateXlibSurfaceKHR"; + if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR")) + return "vkGetPhysicalDeviceXlibPresentationSupportKHR"; + + return name; +} + static void *X11DRV_vkGetDeviceProcAddr(VkDevice device, const char *name) { void *proc_addr; TRACE("%p, %s\n", device, debugstr_a(name)); + if (!pvkGetDeviceProcAddr(device, wine_vk_native_fn_name(name))) + return NULL; + if ((proc_addr = X11DRV_get_vk_device_proc_addr(name))) return proc_addr; @@ -453,6 +466,9 @@ static void *X11DRV_vkGetInstanceProcAddr(VkInstance instance, const char *name) TRACE("%p, %s\n", instance, debugstr_a(name)); + if (!pvkGetInstanceProcAddr(instance, wine_vk_native_fn_name(name))) + return NULL; + if ((proc_addr = X11DRV_get_vk_instance_proc_addr(instance, name))) return proc_addr; -- 2.33.0