https://bugs.winehq.org/show_bug.cgi?id=52664
Bug ID: 52664 Summary: x86_64 bit vkd3d broken in --without-mingw build Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: stefan@codeweavers.com Distribution: ---
Created attachment 71988 --> https://bugs.winehq.org/attachment.cgi?id=71988 backtrace
When building Wine on x86_64 without mingw, wined3d's Vulkan backend doesn't work. An assertion is raised when creating a device, here for example when running the d3d11 tests:
Assertion failed: 1 <= count && count <= VKD3D_VEC4_SIZE, file ../../src/wine/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_private.h, line 1162
This is a regression caused by 24432a24d5e922cbd824b0af8f7b0c66ff2b66e8.
I investigated the possibility that wined3d and vkd3d use different calling conventions, but I don't think this is the case. Rather, I suspect that vkd3d might be built with Unix libc headers and linked against msvcrt.
For some reason I can't get a backtrace with the d3d11 tests (they just exit without breaking into the debugger), but I can get one with World of Tanks. I have attached the backtrace.
The reason why I am trying to run a non-mingw build is to investigate the performance differences between mingw and gcc builds.