[Bug 49975] Battlefield 1, 4 and V not start from with wine-staging 5.17 on

WineHQ Bugzilla wine-bugs at winehq.org
Thu Oct 15 14:49:24 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=49975

--- Comment #5 from lle <llenort at 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 ----------------------------------------------------------------

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list