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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6931#note_89421