mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
vulkan-Vulkan_Implementation: Update to spec version 1.0.30 (no VK_EXT_debug_marker support yet).
This commit is contained in:
parent
3fe8a52e3c
commit
6dd07ec3e7
@ -7097,12 +7097,16 @@ if test "$enable_vulkan_Vulkan_Implementation" -eq 1; then
|
||||
patch_apply vulkan-Vulkan_Implementation/0003-vulkan-Use-binary-search-to-lookup-function-in-is_nu.patch
|
||||
patch_apply vulkan-Vulkan_Implementation/0004-vulkan-Try-to-load-libvulkan.so.1.patch
|
||||
patch_apply vulkan-Vulkan_Implementation/0005-vulkan-Enumerate-VK_KHR_win32_surface-only-one-time-.patch
|
||||
patch_apply vulkan-Vulkan_Implementation/0006-vulkan-Update-to-spec-version-1.0.30-no-VK_EXT_debug.patch
|
||||
patch_apply vulkan-Vulkan_Implementation/0007-vulkan-Improve-vkGetPhysicalDeviceWin32PresentationS.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "vulkan: Initial implementation.", 2 },';
|
||||
echo '+ { "Michael Müller", "vulkan: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "vulkan: Use binary search to lookup function in is_null_func.", 1 },';
|
||||
echo '+ { "Michael Müller", "vulkan: Try to load libvulkan.so.1.", 1 },';
|
||||
echo '+ { "Michael Müller", "vulkan: Enumerate VK_KHR_win32_surface only one time in vkEnumerateInstanceExtensionProperties.", 1 },';
|
||||
echo '+ { "Michael Müller", "vulkan: Update to spec version 1.0.30 (no VK_EXT_debug_marker support yet).", 1 },';
|
||||
echo '+ { "Michael Müller", "vulkan: Improve vkGetPhysicalDeviceWin32PresentationSupportKHR and vkCreateWin32SurfaceKHR.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,62 @@
|
||||
From 133657f27695ca083e6abed70e8aef0e759b9559 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 9 Oct 2016 23:06:34 +0200
|
||||
Subject: vulkan: Improve vkGetPhysicalDeviceWin32PresentationSupportKHR and
|
||||
vkCreateWin32SurfaceKHR.
|
||||
|
||||
---
|
||||
dlls/vulkan/vulkan_main.c | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/vulkan/vulkan_main.c b/dlls/vulkan/vulkan_main.c
|
||||
index 55361a4..7700f02 100644
|
||||
--- a/dlls/vulkan/vulkan_main.c
|
||||
+++ b/dlls/vulkan/vulkan_main.c
|
||||
@@ -208,7 +208,8 @@ VkResult WINAPI vkCreateWin32SurfaceKHR( VkInstance instance,
|
||||
TRACE( "(%p, %p, %p, %p)\n", instance, pCreateInfo, pAllocator, pSurface );
|
||||
|
||||
#if defined(HAVE_X11_XLIB_H) && defined(SONAME_LIBX11_XCB)
|
||||
- if (pXGetXCBConnection && res == VK_ERROR_INCOMPATIBLE_DRIVER)
|
||||
+ if (pXGetXCBConnection && (res == VK_ERROR_INCOMPATIBLE_DRIVER ||
|
||||
+ res == VK_ERROR_EXTENSION_NOT_PRESENT))
|
||||
{
|
||||
VkAllocationCallbacks_host tmp_pAllocator, *ptr_pAllocator;
|
||||
VkXcbSurfaceCreateInfoKHR_host tmp_pCreateInfo;
|
||||
@@ -226,7 +227,8 @@ VkResult WINAPI vkCreateWin32SurfaceKHR( VkInstance instance,
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_X11_XLIB_H)
|
||||
- if (res == VK_ERROR_INCOMPATIBLE_DRIVER)
|
||||
+ if (res == VK_ERROR_INCOMPATIBLE_DRIVER ||
|
||||
+ res == VK_ERROR_EXTENSION_NOT_PRESENT)
|
||||
{
|
||||
VkAllocationCallbacks_host tmp_pAllocator, *ptr_pAllocator;
|
||||
VkXlibSurfaceCreateInfoKHR_host tmp_pCreateInfo;
|
||||
@@ -268,13 +270,13 @@ static xcb_screen_t *get_xcb_screen( xcb_connection_t *connection, int screen )
|
||||
VkBool32 WINAPI vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice,
|
||||
uint32_t queueFamilyIndex )
|
||||
{
|
||||
- VkResult res = VK_ERROR_INCOMPATIBLE_DRIVER;
|
||||
+ VkBool32 res = VK_FALSE;
|
||||
|
||||
TRACE( "(%p, %u)\n", physicalDevice, queueFamilyIndex );
|
||||
|
||||
#if defined(HAVE_X11_XLIB_H) && defined(SONAME_LIBX11_XCB)
|
||||
if (pxcb_get_setup && pxcb_screen_next && pxcb_setup_roots_iterator &&
|
||||
- pXGetXCBConnection && res == VK_ERROR_INCOMPATIBLE_DRIVER)
|
||||
+ pXGetXCBConnection && !res)
|
||||
{
|
||||
xcb_connection_t *connection = pXGetXCBConnection( display );
|
||||
xcb_screen_t *screen = get_xcb_screen( connection, XDefaultScreen(display) );
|
||||
@@ -289,7 +291,7 @@ VkBool32 WINAPI vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_X11_XLIB_H)
|
||||
- if (res == VK_ERROR_INCOMPATIBLE_DRIVER)
|
||||
+ if (!res)
|
||||
{
|
||||
Visual *visual = XDefaultVisual( display, XDefaultScreen(display) );
|
||||
VisualID visual_id = XVisualIDFromVisual( visual );
|
||||
--
|
||||
2.9.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user