win32u: Move vkQueuePresent implementation out of the user drivers.

This commit is contained in:
Rémi Bernon 2024-04-10 14:04:59 +02:00 committed by Alexandre Julliard
parent cde2c08e63
commit fa48563ba8
4 changed files with 5 additions and 32 deletions

View file

@ -43,7 +43,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
static void *vulkan_handle;
static struct vulkan_funcs vulkan_funcs;
static VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *, HWND *);
static VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
static void *(*p_vkGetDeviceProcAddr)(VkDevice, const char *);
static void *(*p_vkGetInstanceProcAddr)(VkInstance, const char *);
@ -55,7 +55,7 @@ static VkResult win32u_vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR
TRACE( "queue %p, present_info %p\n", queue, present_info );
res = p_vkQueuePresentKHR( queue, &host_present_info, surfaces );
res = p_vkQueuePresentKHR( queue, &host_present_info );
for (i = 0; i < present_info->swapchainCount; i++)
{
@ -128,12 +128,11 @@ static void vulkan_init(void)
LOAD_FUNCPTR( vkGetDeviceProcAddr );
LOAD_FUNCPTR( vkGetInstanceProcAddr );
LOAD_FUNCPTR( vkQueuePresentKHR );
#undef LOAD_FUNCPTR
vulkan_funcs.p_vkGetDeviceProcAddr = win32u_vkGetDeviceProcAddr;
vulkan_funcs.p_vkGetInstanceProcAddr = win32u_vkGetInstanceProcAddr;
p_vkQueuePresentKHR = vulkan_funcs.p_vkQueuePresentKHR;
vulkan_funcs.p_vkQueuePresentKHR = win32u_vkQueuePresentKHR;
}

View file

@ -81,7 +81,6 @@ static VkResult (*pvkCreateMetalSurfaceEXT)(VkInstance, const VkMetalSurfaceCrea
static void (*pvkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
static void (*pvkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
static VkResult (*pvkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *, VkSurfaceCapabilities2KHR *);
static VkResult (*pvkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
static const struct vulkan_funcs vulkan_funcs;
@ -235,12 +234,6 @@ static VkBool32 macdrv_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysical
return VK_TRUE;
}
static VkResult macdrv_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *present_info, HWND *surfaces)
{
TRACE("%p, %p\n", queue, present_info);
return pvkQueuePresentKHR(queue, present_info);
}
static const char *macdrv_get_host_surface_extension(void)
{
return pvkCreateMetalSurfaceEXT ? "VK_EXT_metal_surface" : "VK_MVK_macos_surface";
@ -268,7 +261,7 @@ static const struct vulkan_funcs vulkan_funcs =
NULL,
NULL,
macdrv_vkGetPhysicalDeviceWin32PresentationSupportKHR,
macdrv_vkQueuePresentKHR,
NULL,
macdrv_get_host_surface_extension,
macdrv_wine_get_host_surface,
@ -289,7 +282,6 @@ UINT macdrv_VulkanInit(UINT version, void *vulkan_handle, struct vulkan_funcs *d
LOAD_FUNCPTR(vkCreateMetalSurfaceEXT)
LOAD_FUNCPTR(vkDestroySurfaceKHR)
LOAD_FUNCPTR(vkDestroySwapchainKHR)
LOAD_FUNCPTR(vkQueuePresentKHR)
#undef LOAD_FUNCPTR
*driver_funcs = vulkan_funcs;

View file

@ -58,7 +58,6 @@ static VkResult (*pvkCreateWaylandSurfaceKHR)(VkInstance, const VkWaylandSurface
static void (*pvkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
static void (*pvkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
static VkBool32 (*pvkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice, uint32_t, struct wl_display *);
static VkResult (*pvkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
static const struct vulkan_funcs vulkan_funcs;
@ -220,13 +219,6 @@ static VkBool32 wayland_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysica
process_wayland.wl_display);
}
static VkResult wayland_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *present_info, HWND *surfaces)
{
TRACE("%p, %p\n", queue, present_info);
return pvkQueuePresentKHR(queue, present_info);
}
static const char *wayland_get_host_surface_extension(void)
{
return "VK_KHR_wayland_surface";
@ -265,7 +257,6 @@ static const struct vulkan_funcs vulkan_funcs =
.p_vkDestroySurfaceKHR = wayland_vkDestroySurfaceKHR,
.p_vkDestroySwapchainKHR = wayland_vkDestroySwapchainKHR,
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR = wayland_vkGetPhysicalDeviceWin32PresentationSupportKHR,
.p_vkQueuePresentKHR = wayland_vkQueuePresentKHR,
.p_get_host_surface_extension = wayland_get_host_surface_extension,
.p_wine_get_host_surface = wayland_wine_get_host_surface,
.p_vulkan_surface_presented = wayland_vulkan_surface_presented,
@ -288,7 +279,6 @@ UINT WAYLAND_VulkanInit(UINT version, void *vulkan_handle, struct vulkan_funcs *
LOAD_FUNCPTR(vkDestroySurfaceKHR);
LOAD_FUNCPTR(vkDestroySwapchainKHR);
LOAD_FUNCPTR(vkGetPhysicalDeviceWaylandPresentationSupportKHR);
LOAD_FUNCPTR(vkQueuePresentKHR);
#undef LOAD_FUNCPTR
*driver_funcs = vulkan_funcs;

View file

@ -78,7 +78,6 @@ static VkResult (*pvkCreateXlibSurfaceKHR)(VkInstance, const VkXlibSurfaceCreate
static void (*pvkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
static void (*pvkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
static VkBool32 (*pvkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice, uint32_t, Display *, VisualID);
static VkResult (*pvkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
static const struct vulkan_funcs vulkan_funcs;
@ -252,12 +251,6 @@ static VkBool32 X11DRV_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysical
default_visual.visual->visualid);
}
static VkResult X11DRV_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *present_info, HWND *surfaces)
{
TRACE("%p, %p\n", queue, present_info);
return pvkQueuePresentKHR(queue, present_info);
}
static const char *X11DRV_get_host_surface_extension(void)
{
return "VK_KHR_xlib_surface";
@ -285,7 +278,7 @@ static const struct vulkan_funcs vulkan_funcs =
NULL,
NULL,
X11DRV_vkGetPhysicalDeviceWin32PresentationSupportKHR,
X11DRV_vkQueuePresentKHR,
NULL,
X11DRV_get_host_surface_extension,
X11DRV_wine_get_host_surface,
@ -308,7 +301,6 @@ UINT X11DRV_VulkanInit( UINT version, void *vulkan_handle, struct vulkan_funcs *
LOAD_FUNCPTR( vkDestroySurfaceKHR );
LOAD_FUNCPTR( vkDestroySwapchainKHR );
LOAD_FUNCPTR( vkGetPhysicalDeviceXlibPresentationSupportKHR );
LOAD_FUNCPTR( vkQueuePresentKHR );
#undef LOAD_FUNCPTR
*driver_funcs = vulkan_funcs;