[Bug 27534] Call of Duty 4 MW: Graphical glitches when shooting

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 7 16:53:55 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=27534

Stefan Dösinger <stefandoesinger at gmx.at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35869|0                           |1
        is obsolete|                            |

--- Comment #39 from Stefan Dösinger <stefandoesinger at gmx.at> 2011-08-07 16:53:54 CDT ---
Created an attachment (id=35870)
 --> (http://bugs.winehq.org/attachment.cgi?id=35870)
wined3d: call glFlush after updating a buffer

After another glimpse at the code the issue seemed kinda obvious. We weren't
flushing after unmaping the buffer, so the actual buffer upload might happen
after other threads draw from it. Adding the flush fixes the issue for me.
Head, meet wall. Wall, meet head...

Can you give the patch a try? Strict draw ordering has to be enabled, otherwise
this won't work. I marked the previous patch(35869) obsolete, if this one
doesn't work please give the old patch a try.

Unfortunately there's no way around strict draw ordering here without a change
in the OpenGL API. Maybe something like GLX_MESA_multithread_makecurrent might
help, but I'm not sure. The flushes needed for strict draw ordering cause quite
a big performance impact, this is why we made this a setting and disabled it by
default. This is a possible argument for arguing that GL_ARB_map_buffer_range
isn't worth using from a performance point of view.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.


More information about the wine-bugs mailing list