Jacek Caban (@jacek) commented about include/wine/vulkan_driver.h:
- USE_VK_FUNC(vkCreateWin32SurfaceKHR) \
- USE_VK_FUNC(vkDestroySurfaceKHR) \
- USE_VK_FUNC(vkGetInstanceProcAddr) \
- USE_VK_FUNC(vkGetPhysicalDeviceWin32PresentationSupportKHR) \
- WIN32U_VK_DEVICE_FUNCS
struct vulkan_instance { VULKAN_OBJECT_HEADER( VkInstance, instance ); #define USE_VK_FUNC(x) PFN_ ## x p_ ## x; ALL_VK_INSTANCE_FUNCS #undef USE_VK_FUNC +#define USE_VK_FUNC(x) PFN_ ## x host_ ## x;
- WIN32U_VK_INSTANCE_FUNCS
- BOOL host_initialized;
+#undef USE_VK_FUNC
It seems that `ALL_VK_INSTANCE_FUNCS` could be adjusted for that. Maybe we could add win32u functions to `vulkan_funcs` structure, teach winevulkan to use that instead of `vulkan_instance` and get rid of the redirection in `win32u_vkGetInstanceProcAddr` (same for the device). We could use the existing pointers for host calls from win32u then.