http://bugs.winehq.org/show_bug.cgi?id=10783
Summary: D3D applications crash with native d3d dlls Product: Wine Version: 0.9.51. Platform: PC OS/Version: Windows XP Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: ambro@b4ever.net
Created an attachment (id=9638) --> (http://bugs.winehq.org/attachment.cgi?id=9638) output with +d3d (on Linux)
Direct3D applications crash on startup when using native wine d3d dlls (built using mingw). One that crashes is 'rthdribl'. Happens both in WinXP and with Wine in Linux with d3d8,d3d9,wined3d overridden. Works in 0.9.50, broken by the following commit: 9bc6200ecef40fe65d38fda2c7d0f4b8f4c71767 wined3d: Add a method for querying the gl drawable size of rendertarget.
http://bugs.winehq.org/show_bug.cgi?id=10783
Ambro ambro@b4ever.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=10783
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |WONTFIX
--- Comment #1 from Vitaliy Margolen vitaliy@kievinfo.com 2007-12-15 13:18:53 --- Not supported and will not be supported.
http://bugs.winehq.org/show_bug.cgi?id=10783
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Vitaliy Margolen vitaliy@kievinfo.com 2007-12-15 13:19:01 --- Closing.
http://bugs.winehq.org/show_bug.cgi?id=10783
Roderick Colenbrander thunderbird2k@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |UNCONFIRMED Resolution|WONTFIX |
--- Comment #3 from Roderick Colenbrander thunderbird2k@gmx.net 2007-12-15 13:20:34 --- This bug is about native 'wine d3d' dlls, not about native MS d3d dlls.
http://bugs.winehq.org/show_bug.cgi?id=10783
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #4 from Stefan Dösinger stefandoesinger@gmx.at 2007-12-15 13:26:43 --- Are you sure you recompiled the DLLs properly? It sounds a bit strange that this patch creates such a regression. It could break things with builtin builds AND win32 builds at the same time, but it is strange that the builtins still work, but native fail.
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #5 from Ambro ambro@b4ever.net 2007-12-15 14:20:15 --- I'm 100% sure this commit that breaks it, and that I compiled it properly. And it really works with builtins. I explicitly tried one revision before and the broken one.
If I don't use -DUSE_WIN32_OPENGL, the backtrace has a bit more information.
Here's the commands I used to compile it:
SRCFOLDER=wine COPYDEST="/home/ambro/wined3d-BROKEN"
rm -rf wine-tools wine-pe && mkdir wine-tools wine-pe && cd wine-tools && ../${SRCFOLDER}/configure && make depend && make -j3 tools && cd ../wine-pe && CFLAGS="-DUSE_WIN32_OPENGL" ../${SRCFOLDER}/configure --with-wine-tools=../wine-tools --host=mingw32 && cd libs/port && make && cd ../wine && make && cd ../../dlls/wined3d && make && cd ../d3d8 && make && cd ../d3d9 && make && cd ../../.. &&
mkdir -p "$COPYDEST" cd wine-pe cp libs/wine/libwine.dll "$COPYDEST" cp dlls/wined3d/wined3d.dll "$COPYDEST" cp dlls/d3d8/d3d8.dll "$COPYDEST" cp dlls/d3d9/d3d9.dll "$COPYDEST" cd ..
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #6 from Ambro ambro@b4ever.net 2007-12-15 14:21:29 --- Created an attachment (id=9640) --> (http://bugs.winehq.org/attachment.cgi?id=9640) output with +d3d, no -DUSE_WIN32_OPENGL
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #7 from Ambro ambro@b4ever.net 2007-12-15 14:22:04 --- Created an attachment (id=9641) --> (http://bugs.winehq.org/attachment.cgi?id=9641) output with no -DUSE_WIN32_OPENGL
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #8 from Ambro ambro@b4ever.net 2007-12-15 14:23:29 --- Forgot to mention it still breaks at the same point with no output with no -DUSE_WIN32_OPENGL.
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #9 from Roderick Colenbrander thunderbird2k@gmx.net 2007-12-16 04:12:08 --- If native win32 wined3d fails, then native linux wined3d should fail too. That's what we don't understand.
Second a small description of -DUSE_WIN32_OPENGL. On Linux we basically bypass opengl32.dll and directly load libGL.so using some hack. This is a performance tweak. The -DUSE_WIN32_OPENGL option, lets us fully go through opengl32.dll. For use of native win32 dlls on Windows, you must use -DUSE_WIN32_OPENGL; on linux the native dlls still work without the option.
So are you sure that native linux wined3d doesn't fail?
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #10 from Ambro ambro@b4ever.net 2007-12-16 05:00:45 --- Yes, I'm sure the native dlls crash both on WinXP and on Wine, and the non-broken version dlls work on XP and on Wine; but still the 'broken' builtins do work in Wine. I'm attaching the dlls if you don't believe me (the broken ones and one revision before).
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #11 from Ambro ambro@b4ever.net 2007-12-16 05:06:39 --- http://files-upload.com/files/681421/wined3d.tar.bz2
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #12 from Ambro ambro@b4ever.net 2007-12-16 05:44:06 --- sorry bad site, http://xtruder.homelinux.net/~ambro/wined3d.tar.bz2
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #13 from H. Verbeet hverbeet@gmail.com 2007-12-16 06:03:18 --- It appears to die inside the wine_dbgstr_guid() called from QueryInterface, either from the device or the swapchain. Afaik that GUID hasn't changed in quite a while though, and that commit didn't change anything there either.
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #14 from Ambro ambro@b4ever.net 2007-12-16 07:04:03 --- That's probably a compiler bug; compiled it with mingw for win32 through wine and it works fine (althoug I tried 3 versions of linux mingw gcc).
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #15 from Ambro ambro@b4ever.net 2007-12-16 08:09:27 --- The problem in fact resides in libwine. If libwine is compiled with prebuilt windows mingw through wine, everything is fine. But if it's compiled with linux mingw, it causes the crash. I tracked down the problem to the 'dllwrap' command at the end of libwine compilation, which if done with linux mingw causes the crash. I've experimented with different binutils versions (gentoo cross ebuilds): works: binutils-2.17 works: binutils-2.17-r1 works: binutils-2.17-r2 bad: binutils-2.17.50.0.12 bad: binutils-2.17.50.0.17 bad: binutils-2.18.50.0.3
http://bugs.winehq.org/show_bug.cgi?id=10783
--- Comment #16 from Ambro ambro@b4ever.net 2007-12-16 16:18:13 --- I've reported the bug to the bugzilla for binutils: http://sourceware.org/bugzilla/show_bug.cgi?id=5487
http://bugs.winehq.org/show_bug.cgi?id=10783
Roderick Colenbrander thunderbird2k@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID
--- Comment #17 from Roderick Colenbrander thunderbird2k@gmx.net 2007-12-23 13:18:40 --- This is clearly not a wine bug. Thanks for diving into anyway!
http://bugs.winehq.org/show_bug.cgi?id=10783
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Dan Kegel dank@kegel.com 2008-01-28 05:58:07 --- Closing all RESOLVED INVALID older than four weeks.
http://bugs.winehq.org/show_bug.cgi?id=10783
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS/Version|Windows XP |Windows