http://bugs.winehq.org/show_bug.cgi?id=29760
Bug #: 29760 Summary: Sonic R complains about a lost surface when starting in Direct3D mode Product: Wine Version: 1.4-rc1 Platform: x86-64 URL: http://www2.sega.co.jp/download/pc/sonicr/sonicr.exe OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: RandomAccountName@mail.com CC: matteo.mystral@gmail.com Classification: Unclassified Regression SHA1: c6c5c6905e87fefffd00c7d8e68df22879aefe55
Created attachment 38641 --> http://bugs.winehq.org/attachment.cgi?id=38641 Terminal output
When starting in Direct3D mode, Sonic R produces a dialog saying "Lost Surface - CheckForLostSurfaces." After dismissing it, the game proceeds as expected. This dialog didn't appear before 1.3.37, and regression testing indicated:
c6c5c6905e87fefffd00c7d8e68df22879aefe55 is the first bad commit commit c6c5c6905e87fefffd00c7d8e68df22879aefe55 Author: Matteo Bruni mbruni@codeweavers.com Date: Thu Jan 12 17:05:20 2012 +0100
wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all surfaces anyway.
:040000 040000 815f65687dd4087eff7d50a28d1c66a52d27d678 63e99bac135bbc061d4f783f664303fd658a124d M dlls
git checkout c6c5c6905e87fefffd00c7d8e68df22879aefe55 shows the dialog git checkout c6c5c6905e87fefffd00c7d8e68df22879aefe55^ does not
This also occurs in the demo, but it will probably crash on start unless you do something to slow CPU processing down (game bug).
http://bugs.winehq.org/show_bug.cgi?id=29760
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression
http://bugs.winehq.org/show_bug.cgi?id=29760
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #1 from Stefan Dösinger stefan@codeweavers.com 2012-02-01 07:40:48 CST --- I guess the problem is that we initialize the surface with SFLAG_LOST in wined3d and report this to the application. We may have to separate between a lost surface(can happen in ddraw e.g. on a display mode change) and newly created surfaces that do not have a defined content and should be cleared before first use.
Alternatively ddraw could just depthfill new depth stencil surfaces after the wined3d_surface_create call.
http://bugs.winehq.org/show_bug.cgi?id=29760
--- Comment #2 from Austin English austinenglish@gmail.com 2012-02-02 13:31:26 CST --- http://source.winehq.org/git/wine.git/commitdiff/b51a6576269e0b92532332adf84... should help, please retest.
http://bugs.winehq.org/show_bug.cgi?id=29760
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b51a6576269e0b92532332adf84 | |9735ad78a20a7 Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #3 from A Wine user RandomAccountName@mail.com 2012-02-03 04:07:08 CST --- It's indeed fixed in 1.4-rc2.
http://bugs.winehq.org/show_bug.cgi?id=29760
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2012-02-11 13:52:14 CST --- Closing bugs fixed in 1.4-rc3.