mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-01 22:40:12 +00:00
win32u: Move vkQueuePresent implementation out of the user drivers.
This commit is contained in:
parent
cde2c08e63
commit
fa48563ba8
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue