From: Aida JonikienÄ— <aidas957(a)gmail.com> 32-bit DXVK doesn't find the surface creation function without this. --- dlls/winevulkan/vulkan.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index f6de197f720..61b3a42d63f 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -2144,8 +2144,14 @@ NTSTATUS vk_is_available_instance_function32(void *arg) UINT32 instance; UINT32 name; } *params = arg; - struct vulkan_instance *instance = vulkan_instance_from_handle(UlongToPtr(params->instance)); - return !!vk_funcs->p_vkGetInstanceProcAddr(instance->host.instance, UlongToPtr(params->name)); + struct wine_instance *instance = wine_instance_from_handle(UlongToPtr(params->instance)); + + if (!strcmp(UlongToPtr(params->name), "vkCreateWin32SurfaceKHR")) + return instance->enable_win32_surface; + if (!strcmp(UlongToPtr(params->name), "vkGetPhysicalDeviceWin32PresentationSupportKHR")) + return instance->enable_win32_surface; + + return !!vk_funcs->p_vkGetInstanceProcAddr(instance->obj.host.instance, UlongToPtr(params->name)); } NTSTATUS vk_is_available_device_function32(void *arg) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6948