[Bug 37068] New: XIII: Canyon levels not rendered correctly
http://bugs.winehq.org/show_bug.cgi?id=37068 Bug ID: 37068 Summary: XIII: Canyon levels not rendered correctly Product: Wine Version: 1.7.0 Hardware: x86 OS: Linux Status: NEW Keywords: regression Severity: minor Priority: P2 Component: directx-d3d Assignee: wine-bugs(a)winehq.org Reporter: gyebro69(a)gmail.com CC: stefan(a)codeweavers.com Regression SHA1: ba61730daa6a614ef07128a69a0bbca819e716b4 Once there was bug #30194 and the issue was gone between Wine 1.6-rc3 and 1.6. Sadly, the exact same issue has been re-introduced since Wine 1.7.0, the Canyon levels are unplayable, because the whole screen is filled with some fog. This is after ba61730daa6a614ef07128a69a0bbca819e716b4 is the first bad commit commit ba61730daa6a614ef07128a69a0bbca819e716b4 Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Aug 1 12:25:55 2013 +0200 wined3d: Avoid calculating 1 / (fog_end - fog_start) in the shader. :040000 040000 def6053aef8ca5551147e39fd1534f68e08ed32b 90db6148516cc12e0a95ca2e2857af700dc0dd83 M dlls The patch can be reverted cleanly on 1.7.23 and it fixes the problem. Disabling GLSL doesn't help. I can't reproduce the problem with the open source nouveau driver, this may be a bug in the Nvidia driver. I don't have Intel or AMD gfx card to test it. Terminal output:
fixme:win:EnumDisplayDevicesW ((null),0,0x32db08,0x00000000), stub! fixme:d3d8:ValidateVertexShader (0x17e3900 (nil) (nil) 1 0x32d7d8): stub fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
Let me know if you need further tests or debug logs. Fedora 20 Nvidia binary drivers 340.24 wine-1.7.23-90-gbdeb761 -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #1 from Stefan Dösinger <stefan(a)codeweavers.com> --- Can you try with an older Nvidia driver? The 340 driver introduced another bug in INF handling, presumably because of another math optimization that breaks when INFs are involved. This regression is spotted by the fogstart == fogend tests in dlls/d3d9/tests/visual.c, fog_test(). Having an actual game that is broken makes it easier for me when I talk to Nvidia than just telling them that they broke our regression tests. And yeah, I realize that a change to Wine triggered this problem on your system. I still believe the Wine change is correct, but it may trigger a different codepath in Nvidia's GLSL optimizer. Was ARB always broken? The change is GLSL only, so I'd expect ARB shaders to be broken prior to ba61730d. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #2 from Béla Gyebrószki <gyebro69(a)gmail.com> --- (In reply to Stefan Dösinger from comment #1)
Can you try with an older Nvidia driver? The 340 driver introduced another bug in INF handling, presumably because of another math optimization that breaks when INFs are involved. This regression is spotted by the fogstart == fogend tests in dlls/d3d9/tests/visual.c, fog_test().
Hi Stefan, You are right...after downgrading Nvidia driver to 331.89 the issue in XIII is gone and those levels are rendered correctly. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 Béla Gyebrószki <gyebro69(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Status|NEW |RESOLVED Resolution|--- |UPSTREAM Summary|XIII: Canyon levels not |XIII: Canyon levels not |rendered correctly |rendered correctly with | |Nvidia drivers 340.xx Regression SHA1|ba61730daa6a614ef07128a69a0 | |bbca819e716b4 | --- Comment #3 from Béla Gyebrószki <gyebro69(a)gmail.com> --- UPSTREAM bug -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #4 from Béla Gyebrószki <gyebro69(a)gmail.com> --- (In reply to Stefan Dösinger from comment #1)
Was ARB always broken? The change is GLSL only, so I'd expect ARB shaders to be broken prior to ba61730d. Sorry I overlooked this question yesterday...with disabled GLSL the game is broken with drivers 340.24 and that was the case before your commit too.
-- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #5 from Stefan Dösinger <stefan(a)codeweavers.com> --- I'd like to try to reproduce this myself before I report the issue to Nvidia. Apparently there is a demo of this game: http://www.fileplanet.com/128795/120000/fileinfo/XIII-Demo . Do you have a savegame of one of the affected levels? I have no idea if an affected level is included in the demo, but it is worth a try. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #6 from Béla Gyebrószki <gyebro69(a)gmail.com> --- (In reply to Stefan Dösinger from comment #5)
I'd like to try to reproduce this myself before I report the issue to Nvidia. Apparently there is a demo of this game: http://www.fileplanet.com/128795/120000/fileinfo/XIII-Demo . Do you have a savegame of one of the affected levels? I have no idea if an affected level is included in the demo, but it is worth a try.
I have a saved game to reproduce the problem but the demo doesn't have load/save function. The demo contains 2 levels but none of them are affected. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #7 from Stefan Dösinger <stefan(a)codeweavers.com> --- Yeah, I just ran the demo - it runs fine here as well. Please attach the saved game nevertheless, I may get a hold of the full game at some point. Please also attach a +d3d log. Try to keep it as short as possible - start the game, load the saved game and wineserver -k everything as soon as the problem shows up on the screen. Don't quit the game normally, just kill it. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #8 from Béla Gyebrószki <gyebro69(a)gmail.com> --- Created attachment 49289 --> http://bugs.winehq.org/attachment.cgi?id=49289 +d3d log (uncompressed 43 MB) -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #9 from Béla Gyebrószki <gyebro69(a)gmail.com> --- Created attachment 49290 --> http://bugs.winehq.org/attachment.cgi?id=49290 saved game Place the file in the /Save directory. In the main menu <06 Plain Rock 09> should appear as your existing profile. Click on it, on the next screen click on the lower left image (Load game) and 'Canyon 4' should appear. You can install the unofficial 1.5 patch to the installed game, the patch removes the intro videos (which are unskippable) thus reducing the +d3d log size considerably. http://theoutlawdad.com/XIII_FILES/XIII.1.5.patch.zip -- 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.
http://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #10 from Stefan Dösinger <stefan(a)codeweavers.com> --- Thanks for the log, it confirms that the game indeed hits the fogstart == fogend table fog case. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #11 from Stefan Dösinger <stefan(a)codeweavers.com> --- The Nvidia 352.09 Beta driver fixes this bug. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37068 Stefan Dösinger <stefan(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #12 from Stefan Dösinger <stefan(a)codeweavers.com> --- Closing now that it is fixed upstream -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37068 --- Comment #13 from Béla Gyebrószki <gyebro69(a)gmail.com> --- Just would like to add that Matteo's recent patches make fog effect work properly in the XIII game with binary drivers 340.76. http://source.winehq.org/git/wine.git/commit/b02a166cc84a1c61db9e91e26e6b8e0... http://source.winehq.org/git/wine.git/commit/614e52e89746b34826fb17c98b1b2ff... -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37068 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral(a)gmail.com --- Comment #14 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to Béla Gyebrószki from comment #13)
Just would like to add that Matteo's recent patches make fog effect work properly in the XIII game with binary drivers 340.76.
That makes sense, those patches effectively workaround the bug since wined3d is not making use of the GL fog anymore. -- 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.
participants (1)
-
wine-bugs@winehq.org