libs/vkd3d: Use vkGetInstanceProcAddr() to load global Vulkan functions.

It's enough to load vkGetInstanceProcAddr() in a platform-specific way.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Józef Kucia
2018-01-17 12:48:15 +01:00
committed by Alexandre Julliard
parent 10b04414e8
commit 783a2c2cdf
6 changed files with 71 additions and 45 deletions

View File

@@ -43,21 +43,15 @@ typedef bool (*vkd3d_join_thread_pfn)(void *thread);
struct vkd3d_instance;
struct vkd3d_vulkan_procs_info
{
PFN_vkCreateInstance vkCreateInstance;
PFN_vkDestroyInstance vkDestroyInstance;
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
};
struct vkd3d_instance_create_info
{
vkd3d_signal_event_pfn signal_event_pfn;
vkd3d_create_thread_pfn create_thread_pfn;
vkd3d_join_thread_pfn join_thread_pfn;
size_t wchar_size;
const struct vkd3d_vulkan_procs_info *vulkan_procs_info;
/* If set to NULL, libvkd3d loads libvulkan. */
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr_pfn;
};
struct vkd3d_device_create_info