<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>