[Bug 47419] Regression in 4.11, Dune 2000 crashes on mission start
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Jun 26 17:03:27 CDT 2019
https://bugs.winehq.org/show_bug.cgi?id=47419
Olivier F. R. Dierick <o.dierick at piezo-forte.be> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|INVALID |---
Status|RESOLVED |REOPENED
--- Comment #3 from Olivier F. R. Dierick <o.dierick at piezo-forte.be> ---
(In reply to Henri Verbeet from comment #2)
> (In reply to Olivier F. R. Dierick from comment #1)
> > Resolving INVALID.
> >
> Probably, but if you're up for it, it may still be interesting to figure out
> what the issue with the gdi/no3d renderer is. In particular, I guess the
> application doesn't like one of the caps set in "caps.ddsOldCaps.dwCaps". If
> you can figure out which one(s), perhaps we can just make sure they aren't
> set with the gdi/no3d renderer.
Hello,
With a debugging FIXME and filtering the caps one by one the dwCaps that causes
trouble to the gdi/no3d renderer is identified as DDCAPS_ALIGNSIZESRC.
With this debugging patch the application fails:
--- diff ---
+ FIXME("caps.ddsOldCaps.dwCaps was %#x.\n", caps.ddsOldCaps.dwCaps);
caps.ddsOldCaps.dwCaps = caps.ddsCaps.dwCaps;
+ FIXME("caps.ddsOldCaps.dwCaps wants %#x.\n", caps.ddsOldCaps.dwCaps);
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_PALETTE;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_OVERLAY;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_BLTSTRETCH;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_BLTFOURCC;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_BLT;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_ALIGNSTRIDE;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_ALIGNSIZEDEST;
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_ALIGNBOUNDARYDEST;
+ FIXME("caps.ddsOldCaps.dwCaps got %#x.\n", caps.ddsOldCaps.dwCaps);
--- end of diff ---
--- output ---
(...)
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps was 0.
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps wants 0x8b76.
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps got 0x10.
(...)
002d:trace:ddraw:ddraw_surface1_Blt iface 0x15a760, dst_rect (0,0)-(640,400),
src_surface (nil), src_rect (null), flags 0x1000400, fx 0xacfb00.
002d:trace:ddraw:ddraw_surface7_Blt iface 0x15a750, dst_rect (0,0)-(640,400),
src_surface (nil), src_rect (null), flags 0x1000400, fx 0xacfb00.
wine: Unhandled page fault on read access to 0x00000014 at address 0x44c5cc
(thread 002d), starting debugger...
Unhandled exception: page fault on read access to 0x00000014 in 32-bit code
(0x0044c5cc).
(...)
--- end of output ---
With this debugging patch the application works:
--- diff ---
+ FIXME("caps.ddsOldCaps.dwCaps was %#x.\n", caps.ddsOldCaps.dwCaps);
caps.ddsOldCaps.dwCaps = caps.ddsCaps.dwCaps;
+ FIXME("caps.ddsOldCaps.dwCaps wants %#x.\n", caps.ddsOldCaps.dwCaps);
+ caps.ddsOldCaps.dwCaps &= ~DDCAPS_ALIGNSIZESRC;
+ FIXME("caps.ddsOldCaps.dwCaps got %#x.\n", caps.ddsOldCaps.dwCaps);
--- end of diff ---
--- output ---
(...)
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps was 0.
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps wants 0x8b76.
002d:fixme:ddraw:ddraw7_GetCaps caps.ddsOldCaps.dwCaps got 0x8b66.
(...)
002d:trace:ddraw:ddraw_surface1_Blt iface 0x2d8a890, dst_rect (0,0)-(640,400),
src_surface (nil), src_rect (null), flags 0x1000400, fx 0xacfb00.
002d:trace:ddraw:ddraw_surface7_Blt iface 0x2d8a880, dst_rect (0,0)-(640,400),
src_surface (nil), src_rect (null), flags 0x1000400, fx 0xacfb00.
002d:trace:ddraw:ddraw_surface1_Restore iface 0x2d8a890.
002d:trace:ddraw:ddraw_surface7_Restore iface 0x2d8a880.
(...)
--- end of output ---
Regards.
--
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