http://bugs.winehq.org/show_bug.cgi?id=27838
--- Comment #2 from Ruslan b7.10110111@gmail.com 2011-07-23 06:29:52 CDT --- OK, done a "regression" test. It appears that there's a commit which had previously fixed problems in resetting D3D state: __________________________GOOD______________________________________ fadfdf21c055caf833a137ffc269c2073dc87fd6 is the first good 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 ________________________END_GOOD__________________________________________ Before it, changes to GTAIV "shadow quality" setting lead to one-time crash (i.e. game continues to work after restart) without error messages. After it, things work perfectly well (at least in game menu with no game loaded itself), i.e. i can change graphics settings without errors and without crashes - works as intended.
Next, there's a commit which breaks this perfect state introducing the "D3D reset failed" error: _________________________BAD_______________________________________ 99092e8a0a74a77efec0526c0ccad61c9ebe3544 is the first bad commit commit 99092e8a0a74a77efec0526c0ccad61c9ebe3544 Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed May 4 22:18:43 2011 +0200
d3d9: Simplify reset_enum_callback().
Note that the existing code wouldn't work for volumes, since volumes aren't proper resources in d3d9.
:040000 040000 d4bc7d3373f9ddf3ef71c0dbb5abd7c6a844f83c 78f53c2354c1f322d45332d766f2d2cc16466409 M dlls _______________________END_BAD_____________________________________________