<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - Corruption in some windows after returning from xlock"
href="https://bugs.freedesktop.org/show_bug.cgi?id=72375#c25">Comment # 25</a>
on <a class="bz_bug_link
bz_status_REOPENED "
title="REOPENED --- - Corruption in some windows after returning from xlock"
href="https://bugs.freedesktop.org/show_bug.cgi?id=72375">bug 72375</a>
from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
<pre>That didn't work. I won't pretend to even know what a flush or a stall is,
however by pure code analysis, I think your patch isn't restoring the old
behaviour. I changed it to
- need_flush =
- gen6_emit_cc(sna, GEN6_BLEND(op->u.gen6.flags)) &&
- wm_binding_table & 1;
+ need_stall = need_flush = false;
+ if (gen6_emit_cc(sna, GEN6_BLEND(op->u.gen6.flags))) {
+ if (wm_binding_table & 1)
+ need_flush = true;
+ }
+ else
+ need_stall = wm_binding_table & 1;
and that appears to work fine. Note that before, need_stall was always set, and
if gen6_emit_cc(), it was reset to false.
I think a cleaner way to write this might be
need_stall = wm_binding_table & 1;
if (gen6_emit_cc(...))
need_flush = need_stall;
[and then the flush logic clears need_stall, which is nice]</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>