<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Rendering artifacts in SNA for small regions"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93125#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Rendering artifacts in SNA for small regions"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93125">bug 93125</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>That's quite peculiar. The blitter should be quite capable and is well used...

diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 1c420a7..e896816 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -54,7 +54,7 @@
 #define NO_COMPOSITE 0
 #define NO_COMPOSITE_SPANS 0
 #define NO_COPY 0
-#define NO_COPY_BOXES 0
+#define NO_COPY_BOXES 1
 #define NO_FILL 0
 #define NO_FILL_BOXES 0
 #define NO_FILL_ONE 0

Will force all of these paths through the blitter. Would also be good to check
with Option "AccelMethod" "blt". If you could undo the small_copy() one by one
to identify the path that fails, that would also be useful. Once you have that,
adding

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 3341851..1dccc65 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -1087,8 +1087,12 @@ sna_pixmap_create_scratch(ScreenPtr screen,

 static unsigned small_copy(const RegionRec *region)
 {
-       if ((region->extents.x2 - region->extents.x1)*(region->extents.y2 -
regi
+       if ((region->extents.x2 - region->extents.x1)*(region->extents.y2 -
regi
+               DBG(("%s: region:%dx%d\n", __FUNCTION__,
+                    (region->extents.x2 - region->extents.x1),
+                    (region->extents.y2 - region->extents.y1));
                return COPY_SMALL;
+               }

        return 0;
 }

and recompiling with ./configure --enable-debug=full will generate a huge log
file that I would hopefully be able to find the bug.</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>