http://bugs.winehq.org/show_bug.cgi?id=34316
Bug #: 34316 Summary: The Guild 2: loading screen is blank (white) Product: Wine Version: 1.7.0 Platform: x86 URL: http://www.fileplanet.com/169779/160000/fileinfo/The-G uild-2-Demo OS/Version: Linux Status: NEW Keywords: download, regression Severity: minor Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com CC: hverbeet@gmail.com Classification: Unclassified Regression SHA1: 37d1e8b79cfc2c4ca7b947589574179470a06c42
Created attachment 45682 --> http://bugs.winehq.org/attachment.cgi?id=45682 terminal output
In certain games the loading screens are empty (blank), or simply not refreshing. Such games are Fallout 3/Fallout:New Vegas, TES IV: Oblivion (one of the intro video is blank) or Ghostbusters: The Video Game. The Guild 2 is affected too, it has a demo version so you can reproduce the problem with that. The only problem with the demo is that that installation takes a very long time under Wine for some reason.
This is a regression due to
37d1e8b79cfc2c4ca7b947589574179470a06c42 is the first bad commit commit 37d1e8b79cfc2c4ca7b947589574179470a06c42 Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Aug 16 09:12:30 2013 +0200
wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test 1 this gives about a 4% improvement, in the Counter Strike: Source stress test it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
:040000 040000 f99284ef188ab87b9d6372a5be54f6ccb63e8ea0 b3e06f60336fdcee348606b5de4f818fe0a7ed15 M dlls
Reverting the patch fixes the problem.
Fedora 19 Nvidia 250 / driver 325.15 X.Org X Server 1.14.2
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #1 from GyB gyebro69@gmail.com 2013-08-21 11:10:36 CDT --- In Fallout: New Vegas the error messages are slightly different:
err:d3d:wined3d_debug_callback 0xcc2ad80: "GL_INVALID_OPERATION error generated. No active program.". err:d3d_shader:walk_constant_heap >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from walk_constant_heap() @ glsl_shader.c / 577 err:d3d:wined3d_debug_callback 0xcc2ad80: "GL_INVALID_OPERATION error generated. No active program.". err:d3d_shader:shader_glsl_load_constants >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUniform4fvARB @ glsl_shader.c / 857
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #2 from Henri Verbeet hverbeet@gmail.com 2013-08-21 11:18:58 CDT --- Could you attach a +d3d,+d3d_shader log?
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #3 from GyB gyebro69@gmail.com 2013-08-21 11:24:54 CDT --- Created attachment 45683 --> http://bugs.winehq.org/attachment.cgi?id=45683 The Guild 2 +d3d, d3d_shader log (uncompressed 105 MB)
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2013-08-21 12:00:59 CDT --- Created attachment 45684 --> http://bugs.winehq.org/attachment.cgi?id=45684 patch
Does the attached patch make it any better?
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #5 from GyB gyebro69@gmail.com 2013-08-21 12:11:05 CDT --- (In reply to comment #4)
Created attachment 45684 [details] patch
Does the attached patch make it any better?
Unfortunately the patch didn't help.
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #6 from Henri Verbeet hverbeet@gmail.com 2013-08-21 12:22:42 CDT --- Actually, as pointed out by Bruno, "if ((ctx_changed = context == priv->last_context))" should be "if ((ctx_changed = context != priv->last_context))" in that patch.
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #7 from GyB gyebro69@gmail.com 2013-08-21 12:33:49 CDT --- (In reply to comment #6)
Actually, as pointed out by Bruno, "if ((ctx_changed = context == priv->last_context))" should be "if ((ctx_changed = context != priv->last_context))" in that patch.
Now it works, thanks.
http://bugs.winehq.org/show_bug.cgi?id=34316
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #45684|0 |1 is obsolete| |
--- Comment #8 from Henri Verbeet hverbeet@gmail.com 2013-08-22 09:35:08 CDT --- Created attachment 45692 --> http://bugs.winehq.org/attachment.cgi?id=45692 patch
How about this one?
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #9 from GyB gyebro69@gmail.com 2013-08-22 10:36:50 CDT --- (In reply to comment #8)
Created attachment 45692 [details] patch
How about this one?
This one works out-of-the-box, thanks. By the way, how did you measure the performance improvement due to commit 37d1e8b79 ? Is there a way I can determine how a certain game performs under Wine? How many FPS do I get?
http://bugs.winehq.org/show_bug.cgi?id=34316
--- Comment #10 from Henri Verbeet hverbeet@gmail.com 2013-08-22 10:47:39 CDT --- The applications mentioned in the commit have their own functionality for that. For application that don't, you can usually use WINEDEBUG=-all,+fps, although that isn't very precise.
http://bugs.winehq.org/show_bug.cgi?id=34316
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |74faebd68d738ef44cc5990e883 | |091329f72d7d7 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #11 from GyB gyebro69@gmail.com 2013-08-23 21:01:19 CDT --- Patch committed: http://source.winehq.org/git/wine.git/commitdiff/74faebd68d738ef44cc5990e883...
http://bugs.winehq.org/show_bug.cgi?id=34316
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2013-08-30 13:06:17 CDT --- Closing bugs fixed in 1.7.1.