winevulkan: Use the Unix call helpers.

This commit is contained in:
Alexandre Julliard 2022-11-25 10:17:27 +01:00
parent 86554e8199
commit 006eae345b
4 changed files with 233 additions and 232 deletions

View file

@ -36,7 +36,6 @@ DEFINE_DEVPROPKEY(DEVPROPKEY_GPU_LUID, 0x60b193cb, 0x5276, 0x4d0f, 0x96, 0xfc, 0
DEFINE_DEVPROPKEY(WINE_DEVPROPKEY_GPU_VULKAN_UUID, 0x233a9ef3, 0xafc4, 0x4abd, 0xb5, 0x64, 0xc3, 0x2f, 0x21, 0xf1, 0x53, 0x5c, 2);
NTSTATUS (WINAPI *p_vk_direct_unix_call)(unixlib_handle_t handle, unsigned int code, void *args) = __wine_unix_call;
unixlib_handle_t unix_handle;
static HINSTANCE hinstance;
@ -235,8 +234,7 @@ VkResult WINAPI vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t *supported_ver
static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
{
if (NtQueryVirtualMemory(GetCurrentProcess(), hinstance, MemoryWineUnixFuncs,
&unix_handle, sizeof(unix_handle), NULL))
if (__wine_init_unix_call())
return FALSE;
return !vk_unix_call(unix_init, &p_vk_direct_unix_call);

File diff suppressed because it is too large Load diff

View file

@ -746,7 +746,7 @@ class VkFunction(object):
# Call the Unix function.
if self.needs_direct_call():
body += "status = p_vk_direct_unix_call(unix_handle, unix_{0}, &params);\n".format(self.name)
body += "status = p_vk_direct_unix_call(__wine_unixlib_handle, unix_{0}, &params);\n".format(self.name)
else:
body += "status = vk_unix_call(unix_{0}, &params);\n".format(self.name)
body += " assert(!status);\n"

View file

@ -145,13 +145,16 @@ struct is_available_device_function_params
const char *name;
};
#ifndef WINE_UNIX_LIB
extern NTSTATUS (WINAPI *p_vk_direct_unix_call)(unixlib_handle_t handle, unsigned int code,
void *args) DECLSPEC_HIDDEN;
extern unixlib_handle_t unix_handle DECLSPEC_HIDDEN;
static inline NTSTATUS vk_unix_call(enum unix_call code, void *params)
{
return __wine_unix_call(unix_handle, code, params);
return WINE_UNIX_CALL(code, params);
}
#endif /* WINE_UNIX_LIB */
#endif /* __WINE_VULKAN_LOADER_H */