http://bugs.winehq.org/show_bug.cgi?id=27610
Summary: Overlord 2 crash on start in full screen mode Product: Wine Version: 1.3.23 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: pp@siedziba.pl
Created an attachment (id=35293) --> (http://bugs.winehq.org/attachment.cgi?id=35293) console output with d3d trace
Overlord 2 crashes on start in full screen mode. Windowed works fine. Bisecting points to this patch:
fadfdf21c055caf833a137ffc269c2073dc87fd6 is the first bad commit commit fadfdf21c055caf833a137ffc269c2073dc87fd6 Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Apr 15 18:33:37 2011 +0200
wined3d: Forward surface refcounts to the container.
This will prevent textures from being released if one of its surfaces is still in use by the stateblock. We have similar constructions in d3d8 and d3d9, but those won't prevent the wined3d texture from being released.
:040000 040000 9524a301f942c04b1bd19f6ee763a8662a5afccd a0888eab4fd4a02d6d488071e7b4e84d62f671e0 M dlls
http://bugs.winehq.org/show_bug.cgi?id=27610
Piotr Pawlow pp@siedziba.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=27610
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hverbeet@gmail.com, | |wylda@volny.cz
http://bugs.winehq.org/show_bug.cgi?id=27610
--- Comment #1 from Piotr Pawlow pp@siedziba.pl 2011-06-26 22:01:29 CDT --- Created an attachment (id=35297) --> (http://bugs.winehq.org/attachment.cgi?id=35297) Avoid destroying other swapchains' contexts
The function delete_opengl_contexts() in wined3d/device.c is destroying contexts belonging to other swapchains than the one passed as the 2nd argument. Here we have 2 swapchains, and the reference forwarding patch seems to cause the second swapchain to be kept longer than before, across device reset. Its context gets destroyed, and then when its reference count finally goes to zero, it tries to destroy already destroyed context, which causes the crash.
http://bugs.winehq.org/show_bug.cgi?id=27610
Piotr Pawlow pp@siedziba.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #35297|0 |1 is obsolete| |
--- Comment #2 from Piotr Pawlow pp@siedziba.pl 2011-06-26 22:18:33 CDT --- Created an attachment (id=35298) --> (http://bugs.winehq.org/attachment.cgi?id=35298) fixed version
Sorry, previous one had a bug, hopefully this one is ok. Spent all night on this, so I'm really sleepy :)
http://bugs.winehq.org/show_bug.cgi?id=27610
--- Comment #3 from Henri Verbeet hverbeet@gmail.com 2011-06-27 06:54:55 CDT --- Created an attachment (id=35302) --> (http://bugs.winehq.org/attachment.cgi?id=35302) patch
We do want to destroy all contexts. How does the attached patch work?
http://bugs.winehq.org/show_bug.cgi?id=27610
--- Comment #4 from Piotr Pawlow pp@siedziba.pl 2011-06-27 08:38:51 CDT --- It works. Thank you!
http://bugs.winehq.org/show_bug.cgi?id=27610
--- Comment #5 from Henri Verbeet hverbeet@gmail.com 2011-06-28 17:31:46 CDT --- Should be fixed by ebcf08e59a3317a997e0ff7bad03c888260b9991.
http://bugs.winehq.org/show_bug.cgi?id=27610
Piotr Pawlow pp@siedziba.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #6 from Piotr Pawlow pp@siedziba.pl 2011-07-01 15:12:42 CDT --- Works with current git. Marking fixed.
http://bugs.winehq.org/show_bug.cgi?id=27610
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2011-07-08 13:46:51 CDT --- Closing bugs fixed in 1.3.24.