Summary: | [regression] Batman Arkham City crashes with DXVK under wine | ||
---|---|---|---|
Product: | Mesa | Reporter: | farmboy0+freedesktop |
Component: | Drivers/Vulkan/radeon | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | ||
Version: | 18.2 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
farmboy0+freedesktop
2018-08-30 20:04:34 UTC
I tested current git with DXVK 0.63 and 0.71 and didn't see any crash. Although I do see "radv_device.c:3900: FINISHME: Illegal color" but that has always been the case. Can you provide more details such as your graphics card, what DXVK version you are using etc? Also does it work for you with Mesa git rather than 18.2? I use vanilla wine 3.12/3.14 DXVK 0.7.0 and 0.7.1 in a 32 or 64 bit prefix. I have a R9 380X Kernel 4.18.5 with DC enabled. I tried Mesa git, no change. Latest console output before crash: info: DXGI: Setting display mode: 1920x1080@60 warn: DxgiSwapChain::QueryInterface: Unknown interface query warn: 94d99bdb-f1f8-4ab0-b236-7da0170edab1 warn: DXGI: MakeWindowAssociation: Ignoring flags 013b:fixme:wtsapi:WTSRegisterSessionNotification Stub 0x60226 0x00000000 warning: The VAD has been replaced by a hack pending a complete rewrite info: DxgiVkPresenter: Recreating swap chain: Format: VK_FORMAT_B8G8R8A8_UNORM Present mode: VK_PRESENT_MODE_FIFO_KHR Buffer size: 1920x1080 013b:fixme:imm:ImmReleaseContext (0x60226, 0xae463b8): stub err: D3D11DeviceContext::SetPredication: Stub mesa: for the -simplifycfg-sink-common option: may only occur zero or one times! ../mesa-9999/src/amd/vulkan/radv_device.c:3936: FINISHME: Illegal color amapps\common\Batman Arkham City GOTY\Binaries\Win32\BatmanAC.exe: ../mesa-9999/src/amd/vulkan/radv_pipeline.c:486: si_choose_spi_color_format: Assertion `!"unhandled blend format"' failed. 016c:fixme:dbghelp:elf_search_auxv can't find symbol in module 016c:fixme:dbghelp:validate_addr64 Unsupported address fffffffff7d40000 Ok I now see the crash when replaying a renderdoc capture on a 64-bit version of RADV (its possible I messed up my 32 RADV build or forgot to enable a debug build). I've uploaded the capture to google driver [1]. The capture was taken from the benchmark where there are some rendering issues. Anyway the trace should be enough for others to reproduce this issue without access to the game (note rendedoc build from git required). Seems we get to: uint32_t radv_translate_colorformat(VkFormat format) ... case 3: if (HAS_SIZE(5,6,5,0)) { return V_028C70_COLOR_5_6_5; } else if (HAS_SIZE(32,8,24,0)) { return V_028C70_COLOR_X24_8_32_FLOAT; } break; And fall through to: return V_028C70_COLOR_INVALID; [1] https://drive.google.com/file/d/1OvISgWIHv4_Y7MkWX8U-c6b0DAojbo4Y/view?usp=sharing Does this branch help ? https://cgit.freedesktop.org/~hakzsam/mesa/log/?h=radv_r32g32b32_btoi With the patch applied to mesa git wine crashes now with: Unhandled exception: assertion failed in 32-bit code (0xf7f99b09). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:f7f99b09 ESP:12aef0d0 EBP:12aef0fc EFLAGS:00000246( - -- I Z- -P- ) EAX:00000000 EBX:00000002 ECX:12aef0fc EDX:00000000 ESI:00000008 EDI:00000000 Stack dump: 0x12aef0d0: 12aef0fc 00000000 12aef0fc f7b8456a 0x12aef0e0: f7f94fcc d4a00018 00000000 00000006 0x12aef0f0: f7b59fb0 07188f72 12aef120 00000000 0x12aef100: 00000000 f6fd6de0 12aef2ac 2570ba00 0x12aef110: 12aef17c 12aef2ac f7bd6d39 f7bd321b 0x12aef120: e6a7c680 d4a00018 00000001 cb40d8a8 Backtrace: =>0 0xf7f99b09 __kernel_vsyscall+0x9() in [vdso].so (0x12aef0fc) 1 0xf7b8456a gsignal+0xc9() in libc.so.6 (0x12aef0fc) 2 0xf7b85fcf abort+0x15e() in libc.so.6 (0xf7cde7de) 3 0xf7b7b7ed in libc.so.6 (+0x257ec) (0xf7cde7de) 4 0xf7b7b887 __assert_fail+0x56() in libc.so.6 (0x000001e6) 5 0xe5999051 in libvulkan_radeon.so (+0x7f050) (0x00000004) 6 0xe599fc9d in libvulkan_radeon.so (+0x85c9c) (0x12aef8c8) 7 0xe596693f in libvulkan_radeon.so (+0x4c93e) (0x12aef8c8) 8 0xe59830f9 in libvulkan_radeon.so (+0x690f8) (0xd4abea50) 9 0xf04ec424 wine_vkCmdCopyImage+0x73(commandBuffer=<couldn't compute location>, srcImage=<couldn't compute location>, srcImageLayout=<couldn't compute location>, dstImage=<couldn't compute location>, dstImageLayout=<couldn't compute location>, regionCount=<couldn't compute location>, pRegions=<couldn't compute location>) [/mnt/work/Repositories/wine/dlls/winevulkan/vulkan_thunks.c:1400] in winevulkan (0x12aefce8) 10 0x6a5a792a in d3d11 (+0x67929) (0x12aefde8) 11 0x6a545a5c in d3d11 (+0x5a5b) (0x12aefea8) 12 0x6a610618 in d3d11 (+0xd0617) (0x12aefeec) 13 0x7bc852c9 call_thread_func+0xf8() [/mnt/work/Repositories/wine/dlls/ntdll/signal_i386.c:2654] in ntdll (0x12aeffdc) 14 0x7bc81d56 call_thread_entry+0x9() in ntdll (0x12aeffec) 0xf7f99b09 __kernel_vsyscall+0x9 in [vdso].so: popl %ebp Should be fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=593996bc026c9e383da9683ff30e784b0ea09015 I am still getting the same crash with mesa-git 0fa9e6d7b304f6a8064ed78a4b9c557e1026e7e5 Can you paste a backtrace please? Unhandled exception: assertion failed in 32-bit code (0xf7feeb09). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:f7feeb09 ESP:12aef0d0 EBP:12aef0fc EFLAGS:00000246( - -- I Z- -P- ) EAX:00000000 EBX:00000002 ECX:12aef0fc EDX:00000000 ESI:00000008 EDI:00000000 Stack dump: 0x12aef0d0: 12aef0fc 00000000 12aef0fc f7bd956a 0x12aef0e0: f7fe9fcc d4c00018 00000000 00000006 0x12aef0f0: f7baefb0 07188f72 12aef120 00000000 0x12aef100: 00000000 f7038890 12aef2ac dd4d6f00 0x12aef110: 12aef17c 12aef2ac f7c2bd39 f7c2821b 0x12aef120: e778c100 d4c00018 00000001 d4c88d10 Backtrace: =>0 0xf7feeb09 __kernel_vsyscall+0x9() in [vdso].so (0x12aef0fc) 1 0xf7bd956a gsignal+0xc9() in libc.so.6 (0x12aef0fc) 2 0xf7bdafcf abort+0x15e() in libc.so.6 (0xf7d337de) 3 0xf7bd07ed in libc.so.6 (+0x257ec) (0xf7d337de) 4 0xf7bd0887 __assert_fail+0x56() in libc.so.6 (0x000001e6) 5 0xe5b980d1 in libvulkan_radeon.so (+0x7f0d0) (0x00000004) 6 0xe5b9ed1d in libvulkan_radeon.so (+0x85d1c) (0x12aef8c8) 7 0xe5b6598f in libvulkan_radeon.so (+0x4c98e) (0x12aef8c8) 8 0xe5b82179 in libvulkan_radeon.so (+0x69178) (0xd4c63860) 9 0xf0e55424 wine_vkCmdCopyImage+0x73(commandBuffer=<couldn't compute location>, srcImage=<couldn't compute location>, srcImageLayout=<couldn't compute location>, dstImage=<couldn't compute location>, dstImageLayout=<couldn't compute location>, regionCount=<couldn't compute location>, pRegions=<couldn't compute location>) [/mnt/work/Repositories/wine/dlls/winevulkan/vulkan_thunks.c:1400] in winevulkan (0x12aefce8) 10 0x6a5afd9a in d3d11 (+0x6fd99) (0x12aefde8) 11 0x6a545c4c in d3d11 (+0x5c4b) (0x12aefea8) 12 0x6a6158c8 in d3d11 (+0xd58c7) (0x12aefeec) 13 0x7bc852c9 call_thread_func+0xf8() [/mnt/work/Repositories/wine/dlls/ntdll/signal_i386.c:2654] in ntdll (0x12aeffdc) 14 0x7bc81d56 call_thread_entry+0x9() in ntdll (0x12aeffec) 0xf7feeb09 __kernel_vsyscall+0x9 in [vdso].so: popl %ebp Okay, so apparently Batman needs itoi with R32G32B32 too. I thought only btoi as needed by that game. I will implement it. Can you explain how to reproduce the problem in-game? Just start the game. After the intro videos it crashes, before the first game screen. Or if you want a faster crash do this: https://pcgamingwiki.com/wiki/Batman:_Arkham_City#Skip_intro_videos (In reply to farmboy0+freedesktop from comment #11) > Just start the game. After the intro videos it crashes, before the first > game screen. > Or if you want a faster crash do this: > https://pcgamingwiki.com/wiki/Batman:_Arkham_City#Skip_intro_videos I cannot reproduce this new crash, the game works issue free for me now. I updated to DXVK 0.90 to be sure but still not seeing any problem. Can you tell me what settings you use? Do you use a 64 bit prefix? Can you try this branch please? https://cgit.freedesktop.org/~hakzsam/mesa/log/?h=radv_itoi_r32g32b32 With this branch I ma successfully able to run Batman: Arkham City on my system. Cool, do you have any rendering issues with that branch? I didnt notice any. Thanks for confirming. Should be fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=79bbdf8e45f0961b800279afadb4bb74129d7034 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.