<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO --- - [ivb] Display corruption in Qt5 applications"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77178#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO --- - [ivb] Display corruption in Qt5 applications"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=77178">bug 77178</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>Let's disable the two WHOLE hints and see which is the culprit.

A:

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 8abfdd0..639985c 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2525,7 +2525,7 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
                return _sna_pixmap_move_to_cpu(pixmap, flags);
        }

-       if (flags & MOVE_WHOLE_HINT) {
+       if (flags & MOVE_WHOLE_HINT && 0) {
                DBG(("%s: region (%d, %d), (%d, %d) marked with WHOLE hint,
pixmap %dx%d\n",
                       __FUNCTION__,
                       region->extents.x1,


B (on top of the attached patch):
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 8abfdd0..7a7499a 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2500,11 +2500,13 @@ sna_drawable_move_region_to_cpu(DrawablePtr drawable,
                flags |= MOVE_INPLACE_HINT;
        }

+#if 0
        if (flags & MOVE_READ || (priv->gpu_damage == NULL && priv->cpu_damage
== NULL)) {
                if (flags & MOVE_WHOLE_HINT ||
                    (flags & MOVE_WRITE && (priv->create & KGEM_CAN_CREATE_GPU)
== 0))
                        return _sna_pixmap_move_to_cpu(pixmap, flags);
        }
+#endif

        if (get_drawable_deltas(drawable, pixmap, &dx, &dy)) {
                DBG(("%s: delta=(%d, %d)\n", __FUNCTION__, dx, dy));</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>