https://bugs.winehq.org/show_bug.cgi?id=42410
Bug ID: 42410 Summary: Banished (DX11) renders broken geometry (regression) Product: Wine Version: 2.1 Hardware: x86 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: michael@fds-team.de CC: hverbeet@gmail.com Regression SHA1: e2dbbec1af8ae2ea8813148d56e14c8c211ee334 Distribution: Debian
Created attachment 57222 --> https://bugs.winehq.org/attachment.cgi?id=57222 WINEDEBUG=+d3d,+d3d11 log
During the Wine Staging release testing, I discovered that Banished stopped working in DX11 mode. When you start a new game everything is hidden behind some greenish texture and the game is unplayable. The main menu is also affected and contains random errors, sometimes houses are missing while on other runs the whole screen contains corrupted geometry. Starting a new game is a more reliable indicator though.
Since it worked fine in older versions, I did a bisect and got the following commit:
----- commit e2dbbec1af8ae2ea8813148d56e14c8c211ee334 Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Jan 31 15:47:12 2017 +0100
wined3d: Implement wined3d_buffer_upload_data() on top of wined3d_buffer_upload_ranges().
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org ----
Reverting the patch fixes the issue.
To reproduce the problem you have to apply the following patches on vanilla Wine:
https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-c... https://github.com/wine-compholio/wine-staging/tree/master/patches/d3d11-Res...
The first one is required to enable the DX11 mode in the settings and the second one is necessary to see anything. The game uses ResolveSubresource even if you disable Antialiasing (multisampling) in the configuration.
Btw, there is a context_release missing in the patch in case wined3d_buffer_load_location fails. This is not related to the bug though.
https://bugs.winehq.org/show_bug.cgi?id=42410
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #1 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 57262 --> https://bugs.winehq.org/attachment.cgi?id=57262 Hack
Does this hack improve anything?
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #2 from Michael Müller michael@fds-team.de --- The hack fixes the rendering.
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- Banished works for me in wine-git with an nvidia card in dx11 mode, is this still an issue for you, Michael?
Everything looks similar (not identical) to the dx9 renderer.
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #4 from Michael Müller michael@fds-team.de --- Did you apply any patches? Wine git currently misses some features which prevents Banished from using the dx11 mode. When you open the settings again you will see it silently switched back to dx9.
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #5 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Michael Müller from comment #4)
Did you apply any patches? Wine git currently misses some features which prevents Banished from using the dx11 mode. When you open the settings again you will see it silently switched back to dx9.
You are right, the game is changing it back to dx9 when I enter options again, sorry ;-)
https://bugs.winehq.org/show_bug.cgi?id=42410
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #6 from Béla Gyebrószki gyebro69@gmail.com --- *** Bug 42738 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #7 from Henri Verbeet hverbeet@gmail.com --- Does this still happen with csmt enabled?
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 58033 --> https://bugs.winehq.org/attachment.cgi?id=58033 pressing apply in options with dx11 as renderer
(In reply to Henri Verbeet from comment #7)
Does this still happen with csmt enabled?
The problem of not being able to select DX11 in options is still present, the attached log is what happens when selecting DX11 and pressing apply.
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #9 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Bruno Jesus from comment #8)
The problem of not being able to select DX11 in options is still present, the attached log is what happens when selecting DX11 and pressing apply.
You need additional patches to test this bug (see comment #0).
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #10 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Józef Kucia from comment #9)
You need additional patches to test this bug (see comment #0).
Yes, thanks ;-)
With additional patches I can say that CSMT fixes the issue for me, I can see broken geometry without it. Just for fun, the fps with and without CSMT is 1.47 on Nvidia binary driver and 3.10 on Intel. Dx9 runs at 60fps.
https://bugs.winehq.org/show_bug.cgi?id=42410
--- Comment #11 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 58034 --> https://bugs.winehq.org/attachment.cgi?id=58034 bad geometry screenshot
https://bugs.winehq.org/show_bug.cgi?id=42410
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |e97ed10d09a94cae9bd449f2978 | |13a0f0722a378
--- Comment #12 from Henri Verbeet hverbeet@gmail.com --- Resolving FIXED.
https://bugs.winehq.org/show_bug.cgi?id=42410
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.9.