Jacek Caban : winevulkan: Move __wine_get_vulkan_driver call to Unix lib.
Alexandre Julliard
julliard at winehq.org
Wed Jul 27 16:17:07 CDT 2022
Module: wine
Branch: master
Commit: 1de20f86ea81b212009a4fab7b79a2fb7d4d4e06
URL: https://gitlab.winehq.org/wine/wine/-/commit/1de20f86ea81b212009a4fab7b79a2fb7d4d4e06
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Apr 5 19:54:55 2022 +0200
winevulkan: Move __wine_get_vulkan_driver call to Unix lib.
---
dlls/winevulkan/Makefile.in | 2 +-
dlls/winevulkan/loader.c | 15 +--------------
dlls/winevulkan/vulkan.c | 9 ++++++++-
3 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/dlls/winevulkan/Makefile.in b/dlls/winevulkan/Makefile.in
index 360fb77a6eb..732bf5493a9 100644
--- a/dlls/winevulkan/Makefile.in
+++ b/dlls/winevulkan/Makefile.in
@@ -2,7 +2,7 @@ MODULE = winevulkan.dll
UNIXLIB = winevulkan.so
IMPORTLIB = winevulkan
IMPORTS = user32 gdi32 advapi32 setupapi win32u
-UNIX_LIBS = $(PTHREAD_LIBS)
+UNIX_LIBS = -lwin32u $(PTHREAD_LIBS)
C_SRCS = \
loader.c \
diff --git a/dlls/winevulkan/loader.c b/dlls/winevulkan/loader.c
index 86e6718adbd..1c45c036c18 100644
--- a/dlls/winevulkan/loader.c
+++ b/dlls/winevulkan/loader.c
@@ -215,24 +215,11 @@ VkResult WINAPI vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t *supported_ver
static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
{
- const void *driver;
-
- driver = __wine_get_vulkan_driver(WINE_VULKAN_DRIVER_VERSION);
- if (!driver)
- {
- ERR("Failed to load Wine graphics driver supporting Vulkan.\n");
- return FALSE;
- }
-
if (NtQueryVirtualMemory(GetCurrentProcess(), hinstance, MemoryWineUnixFuncs,
&unix_handle, sizeof(unix_handle), NULL))
return FALSE;
- if (vk_unix_call(unix_init, &driver) || !driver)
- return FALSE;
-
- unix_funcs = driver;
- return TRUE;
+ return !vk_unix_call(unix_init, &unix_funcs);
}
static BOOL wine_vk_init_once(void)
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 190f70f3616..071dbd4cdff 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -436,7 +436,14 @@ static void wine_vk_device_free(struct VkDevice_T *device)
NTSTATUS init_vulkan(void *args)
{
- vk_funcs = *(const struct vulkan_funcs **)args;
+ vk_funcs = __wine_get_vulkan_driver(WINE_VULKAN_DRIVER_VERSION);
+ if (!vk_funcs)
+ {
+ ERR("Failed to load Wine graphics driver supporting Vulkan.\n");
+ return STATUS_UNSUCCESSFUL;
+ }
+
+
*(const struct unix_funcs **)args = &loader_funcs;
return STATUS_SUCCESS;
}
More information about the wine-cvs
mailing list