[cairo-commit] src/cairo-spans-compositor.c test/reference

Chris Wilson ickle at kemper.freedesktop.org
Fri May 11 13:55:54 PDT 2012


 src/cairo-spans-compositor.c                |    3 ++-
 test/reference/clip-operator.argb32.ref.png |binary
 test/reference/clip-operator.rgb24.ref.png  |binary
 test/reference/random-clip.ref.png          |binary
 test/reference/trap-clip.argb32.ref.png     |binary
 test/reference/trap-clip.rgb24.ref.png      |binary
 6 files changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 4ea3ace6c810ba090464e48795fac5456f6cdc24
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri May 11 21:51:44 2012 +0100

    spans: Only fallback for a clipmask if unbounded
    
    For a bounded operation with a clip we will already have performed the
    clip geometrically.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/cairo-spans-compositor.c b/src/cairo-spans-compositor.c
index a60cff4..5b59cb3 100644
--- a/src/cairo-spans-compositor.c
+++ b/src/cairo-spans-compositor.c
@@ -736,7 +736,8 @@ composite_polygon (const cairo_spans_compositor_t	*compositor,
     cairo_bool_t needs_clip;
     cairo_int_status_t status;
 
-    needs_clip = extents->clip->num_boxes > 1 || ! _clip_is_region (extents->clip);
+    needs_clip = ! extents->is_bounded &&
+	(! _clip_is_region (extents->clip) || extents->clip->num_boxes > 1);
     TRACE ((stderr, "%s - needs_clip=%d\n", __FUNCTION__, needs_clip));
     if (needs_clip) {
 	return CAIRO_INT_STATUS_UNSUPPORTED;
diff --git a/test/reference/clip-operator.argb32.ref.png b/test/reference/clip-operator.argb32.ref.png
index 9c90984..eef4b5a 100644
Binary files a/test/reference/clip-operator.argb32.ref.png and b/test/reference/clip-operator.argb32.ref.png differ
diff --git a/test/reference/clip-operator.rgb24.ref.png b/test/reference/clip-operator.rgb24.ref.png
index 63a0758..4ac26b0 100644
Binary files a/test/reference/clip-operator.rgb24.ref.png and b/test/reference/clip-operator.rgb24.ref.png differ
diff --git a/test/reference/random-clip.ref.png b/test/reference/random-clip.ref.png
index 6e67010..3165ac2 100644
Binary files a/test/reference/random-clip.ref.png and b/test/reference/random-clip.ref.png differ
diff --git a/test/reference/trap-clip.argb32.ref.png b/test/reference/trap-clip.argb32.ref.png
index b138064..719d855 100644
Binary files a/test/reference/trap-clip.argb32.ref.png and b/test/reference/trap-clip.argb32.ref.png differ
diff --git a/test/reference/trap-clip.rgb24.ref.png b/test/reference/trap-clip.rgb24.ref.png
index 45f4d69..8c6d49a 100644
Binary files a/test/reference/trap-clip.rgb24.ref.png and b/test/reference/trap-clip.rgb24.ref.png differ


More information about the cairo-commit mailing list