https://bugs.winehq.org/show_bug.cgi?id=46184
Bug ID: 46184 Summary: dx12 to vkd3d crashes wow, with a screen full of fixme Product: Wine Version: 3.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: eaglecomputers.ok@gmail.com Distribution: ---
fixme:d3d12_device_CheckFeatureSupport: Root signature version 1_1 not supported yet. fixme:vkd3d_serialize_root_signature: Ignoring error blob 0x25f378. fixme:d3d12_root_signature_init: Ignoring root signature flags 0x1. fixme:vkd3d_serialize_root_signature: Ignoring error blob 0x25f378. fixme:d3d12_root_signature_init: Ignoring root signature flags 0x1. fixme:rs_desc_from_d3d12: Ignoring MultisampleEnable 0x1. fixme:d3d12_device_CheckFeatureSupport: Unhandled feature 0x4
WoW, BFA, DX12 enabled in game, using vkd3d, and wine, with staging, compiled from source. Latest vulkan driver, proprietary Nvidia driver 415.18, kernel 4.19.2-301, fedora 29, Gtx 970 4Gig, Amd FX 6300 6 Cores, 16Gig DDR3 1600. Using DXVK for DX11 works fine. Vsync can not be disabled with vkd3d wrapper.
https://bugs.winehq.org/show_bug.cgi?id=46184
--- Comment #1 from Steve Ebey eaglecomputers.ok@gmail.com --- more information. when i use the libvkd3d 1.0 from my distro, I get error 132 and the game does not load, but if I compile vkd3d from git, and build wine with it, I get logged in and can be in certain area, but the screen starts to fill with fixme messages, and eventually crashes.
https://bugs.winehq.org/show_bug.cgi?id=46184
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #2 from Józef Kucia joseph.kucia@gmail.com --- Please attach a WINEDEBUG=+seh,+dxgi,+d3d12 VKD3D_DEBUG=trace log.
https://bugs.winehq.org/show_bug.cgi?id=46184
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal
https://bugs.winehq.org/show_bug.cgi?id=46184
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Product|Wine |vkd3d Component|directx-d3d |vkd3d Version|3.21 |1.1 CC| |z.figura12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46184
Sveinar Søpler cybermax@dexter.no changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cybermax@dexter.no
--- Comment #3 from Sveinar Søpler cybermax@dexter.no --- Józef Kucia Creating a debuglog as you described created a 35MB gzip logfile just by logging in, so i suggest you come up with something to narrow the endless spew of trace messages.
Tbh, i am not able to log in THAT fast.
The snippit i managed to grab just at the crash is:
libs/vkd3d/device.c:2009: d3d12_device_CopyDescriptors: Assertion `dst_idx == dst_range_size' failed. 0x80000101 (unknown exception) at 00007f2ad14bfe97 : error 132: ERROR #132 (0x85100084) Fatal exception!
Steve Ebey posted a patch that fixes this crashing:
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index cf40e7a..671294b 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -2006,8 +2006,14 @@ static void STDMETHODCALLTYPE d3d12_device_CopyDescriptors(ID3D12Device *iface, } }
- assert(dst_idx == dst_range_size); - assert(dst_range_idx == dst_descriptor_range_count - 1); + if (dst_idx == dst_range_size) + { + assert(dst_idx == dst_range_size); + } + if (dst_range_idx == dst_descriptor_range_count - 1) + { + assert(dst_range_idx == dst_descriptor_range_count - 1); + } }
static void STDMETHODCALLTYPE d3d12_device_CopyDescriptorsSimple(ID3D12Device *iface,
I guess this kinda bypasses some checks or whatnot that makes dst_range_size not crash..
This was tested with git: 09f667ce4eaea2bb8c5e6fa8a79553ba9cf2a6aa
HOWEVER: This WAS better with the last nVidia 415.18.02 driver, but got a LOT worse with todays post of 415.18.04 that amongst other things fixes performance in Pandaria zones (w/vkd3d), and various Unity games.
https://bugs.winehq.org/show_bug.cgi?id=46184
--- Comment #4 from Steve Ebey eaglecomputers.ok@gmail.com --- Running 415.18.04 with the vksync fix that the author of dxvk found for me in the swapchain.c file. Also still using my 'hack' of the assertions, and shown here are some random timetest fp benchmarks.
Seekers Outpost -> Redfield's Watch (Zuldazar) MIn 4 fps Max 105 fps Avg 51 fps
https://bugs.winehq.org/show_bug.cgi?id=46184
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |3e8d0e7a6a65953ee0a2de9e32b | |69d80fe72a510 Resolution|--- |FIXED
--- Comment #5 from Józef Kucia joseph.kucia@gmail.com --- Thanks for the bug report.
The crash should be fixed by https://source.winehq.org/git/vkd3d.git/?a=commit;h=3e8d0e7a6a65953ee0a2de9e... Please open new bugs for remaining issues.
https://bugs.winehq.org/show_bug.cgi?id=46184
--- Comment #6 from Sveinar Søpler cybermax@dexter.no --- Awesome Józef Kucia!
Ran over to my "crash spot", and crashed.. Logged in a couple of times, each time instantly crashing.
Updated and rebuilt VKD3D latest git, logged in and ran around with no issues.. so without doing a "many hour test", it does indeed seem fixed!
Thanks :)
https://bugs.winehq.org/show_bug.cgi?id=46184
--- Comment #7 from Steve Ebey eaglecomputers.ok@gmail.com --- You are the bomb Jozef, thank you for the updates, and for your fast response to this bug report. May you enjoy long life and great prosperity.
https://bugs.winehq.org/show_bug.cgi?id=46184
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|dx12 to vkd3d crashes wow, |Assertion fails in |with a screen full of fixme |d3d12_device_CopyDescriptor | |s() (WoW)
https://bugs.winehq.org/show_bug.cgi?id=46184
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- Closing bugs fixed in 1.10.