<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [regression] DRI2 races"
href="https://bugs.freedesktop.org/show_bug.cgi?id=78992">bug 78992</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>ASSIGNED
</td>
<td>NEEDINFO
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [regression] DRI2 races"
href="https://bugs.freedesktop.org/show_bug.cgi?id=78992#c43">Comment # 43</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [regression] DRI2 races"
href="https://bugs.freedesktop.org/show_bug.cgi?id=78992">bug 78992</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>I still haven't hit this myself yet. With the GetBuffers() assert that the back
buffer we hand back is not on the scanout, I can be reasonably certain that the
error is not that.
Two things can I ask you to double check:
1. That
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index ac73680..daf1d08 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -211,7 +211,7 @@ sna_dri2_window_get_chain(WindowPtr win)
#error DRI2 version supported by the Xserver is too old
#endif
-#if DRI2INFOREC_VERSION < 6
+#if DRI2INFOREC_VERSION < 6 || 1
#define XORG_CAN_TRIPLE_BUFFER 0
#define swap_limit(d, l) false
#else
still restores the old behaviour, and
2. whether
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 78c4069..ac73680 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -898,6 +898,8 @@ __sna_dri2_copy_region(struct sna *sna, DrawablePtr draw,
RegionPtr region,
if (priv)
src_bo = priv->gpu_bo;
}
+ if (src_bo != src_priv->bo)
+ ErrorF("applying stale buffer fixup to Window source!\n");
dst_bo = dst_priv->bo;
if (dst->attachment == DRI2BufferFrontLeft) {
@@ -916,6 +918,9 @@ __sna_dri2_copy_region(struct sna *sna, DrawablePtr draw,
RegionPtr region,
} else
sync = false;
+ if (dst_bo != dst_priv->bo)
+ ErrorF("applying stale buffer fixup to Window destination!\n");
+
if (!wedged(sna)) {
xf86CrtcPtr crtc;
issues any warnings when you see the errors?</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>