summaryrefslogtreecommitdiff
path: root/src/cairo-spans-compositor.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-05-11 21:51:44 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-05-11 21:53:55 +0100
commit4ea3ace6c810ba090464e48795fac5456f6cdc24 (patch)
tree02652bc7f59496adbceac6634469d78efef3be51 /src/cairo-spans-compositor.c
parentcd1004ce19c7ea28c7fedb6464562a08416586c0 (diff)
downloadcairo-4ea3ace6c810ba090464e48795fac5456f6cdc24.tar.gz
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@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-spans-compositor.c')
-rw-r--r--src/cairo-spans-compositor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cairo-spans-compositor.c b/src/cairo-spans-compositor.c
index a60cff407..5b59cb3fe 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;