https://bugs.winehq.org/show_bug.cgi?id=49975
--- Comment #5 from lle llenort@aol.com --- Hi,
tested further and maybe there is a problem with the this patch in combination with BF? I'm not really sure but it looks like BF V crash when request the display device or it's properties.
Maybe it's important too, i use the lasted dxvk version.
I think someone with better vulkan know how can take a deeper look.
Here are the sniplets form the patch and the backtrace dump (BF V Start).
Thank you and all the Best. lle
Patch Info (wine 5.17 - Release) SNAP --------------------------------
winex11.drv: Use vkGetPhysicalDeviceProperties2KHR to get gpu properties.
vkGetPhysicalDeviceProperties2 is a Vulkan 1.1 function but wine uses a 1.0 instance, so use the extension function instead.
diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c index faeb4d9..6c16fb2 100644 (file) --- a/dlls/winex11.drv/xrandr.c +++ b/dlls/winex11.drv/xrandr.c @@ -552,7 +552,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro }; const struct vulkan_funcs *vulkan_funcs = get_vulkan_driver( WINE_VULKAN_DRIVER_VERSION ); VkResult (*pvkGetRandROutputDisplayEXT)( VkPhysicalDevice, Display *, RROutput, VkDisplayKHR * ); - PFN_vkGetPhysicalDeviceProperties2 pvkGetPhysicalDeviceProperties2; + PFN_vkGetPhysicalDeviceProperties2KHR pvkGetPhysicalDeviceProperties2KHR; PFN_vkEnumeratePhysicalDevices pvkEnumeratePhysicalDevices; uint32_t device_count, device_idx, output_idx; VkPhysicalDevice *vk_physical_devices = NULL; @@ -587,7 +587,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro }
LOAD_VK_FUNC(vkEnumeratePhysicalDevices) - LOAD_VK_FUNC(vkGetPhysicalDeviceProperties2) + LOAD_VK_FUNC(vkGetPhysicalDeviceProperties2KHR) LOAD_VK_FUNC(vkGetRandROutputDisplayEXT) #undef LOAD_VK_FUNC
@@ -624,7 +624,7 @@ static BOOL get_gpu_properties_from_vulkan( struct x11drv_gpu *gpu, const XRRPro properties2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; properties2.pNext = &id;
- pvkGetPhysicalDeviceProperties2( vk_physical_devices[device_idx], &properties2 ); + pvkGetPhysicalDeviceProperties2KHR( vk_physical_devices[device_idx], &properties2 ); memcpy( &gpu->vulkan_uuid, id.deviceUUID, sizeof(id.deviceUUID) ); /* Ignore Khronos vendor IDs */ if (properties2.properties.vendorID < 0x10000)
END SNAP --------------------------------------------------------------------
Backtrace BF 5 SANP ------------------------------------------------------------------------ Unhandled exception: page fault on execute access to 0x0000002b in 32-bit code (0x0000002b). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:0000002b ESP:0088d754 EBP:0088d770 EFLAGS:00010206( R- -- I - -P- ) EAX:0000002b EBX:0000002b ECX:00000000 EDX:003e2000 ESI:0088d78c EDI:7bc5cb90 Stack dump: 0x0088d754: 7bc5cbad 00000000 00000008 01203efc 0x0088d764: 0088d7ac 0088d784 0088d84c 0088dbb8 0x0088d774: 7bc0c47c 0088d78c 0000002b 01203efc 0x0088d784: 00000000 7b014100 00010007 7d9b5280 0x0088d794: 00000000 0000004c 2f86dc00 7d77e9d8 0x0088d7a4: 00000048 00000002 012043b8 00000000 Backtrace: =>0 0x0000002b (0x0088d770) 1 0x7bc0c47c handle+0x7bc0c47b() in ntdll (0x0088dbb8) 2 0x7d73a797 X11DRV_create_desktop+0x6486() in winex11 (0x0088dc08) 3 0x6eda8d23 map_wparam_char_WtoA+0xc2(wParam=<is not available>, len=<is not available>) [\?\unix\home\abuild\rpmbuild\BUILD\wine-5.19\dlls\user32\winproc.c:1164] in user32 (0x0088dc68) 4 0x6ed5f2db wait_objects+0xba(count=0x2, handles=0x88dd40, timeout=0) [\?\unix\home\abuild\rpmbuild\BUILD\wine-5.19\dlls\user32\message.c:2994] in user32 (0x0088dd28) 5 0x6ed681e9 GetCurrentInputMessageSource+0x98() [\?\unix\home\abuild\rpmbuild\BUILD\wine-5.19\dlls\user32\message.c:4101] in user32 (0x0088de58) 6 0x672221f1 EntryPoint+0xffffffff() in qt5core (0x0088fb1c) 0x0000002b: -- no code accessible -- Modules: Module Address Debug info Name (126 modules) PE 110000- 11e000 Deferred api-ms-win-crt-utility-l1-1-0 PE 120000- 12d000 Deferred api-ms-win-crt-time-l1-1-0 PE 130000- 14c000 Deferred powrprof PE 400000- 673000 Deferred originclientservice PE 890000- 9d5000 Deferred winmm PE 9e0000- d0a000 Deferred oleaut32 PE d10000- e4f000 Deferred libeay32 PE 14c0000- 1651000 Deferred qwindows PE 10000000-1059a000 Deferred qt5gui PE 61000000-61031000 Deferred qt5xml PE 61740000-617f9000 Deferred advapi32 PE 61940000-61ac4000 Deferred wininet PE 61f00000-61f0f000 Deferred api-ms-win-crt-convert-l1-1-0 PE 61f80000-61f91000 Deferred api-ms-win-crt-math-l1-1-0 PE 62300000-6236d000 Deferred msvcp140 PE 62d40000-62d4d000 Deferred api-ms-win-crt-environment-l1-1-0 PE 62fc0000-6317e000 Deferred rpcrt4 SNAP END ----------------------------------------------------------------