[Bug 93125] Rendering artifacts in SNA for small regions

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 26 08:00:50 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=93125

--- Comment #1 from Chris Wilson <chris at chris-wilson.co.uk> ---
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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20151126/fe34b08d/attachment-0001.html>


More information about the intel-gfx-bugs mailing list