diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-03-05 11:49:50 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-03-05 12:02:31 +0000 |
commit | e572ae253a9fe62ba5d61bc6e98c9efc502d7414 (patch) | |
tree | efb405b1e215ea88330c3521ff1d0554b02074fd /src/cairo-spans-compositor.c | |
parent | ac80097a31098a9ac746c3d14c1eeaa2198dbef8 (diff) | |
download | cairo-e572ae253a9fe62ba5d61bc6e98c9efc502d7414.tar.gz |
spans: Handle fallbacks from upload-boxes by reverting to the normal composite
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.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-spans-compositor.c b/src/cairo-spans-compositor.c index 86d9896a3..e9fedcd4f 100644 --- a/src/cairo-spans-compositor.c +++ b/src/cairo-spans-compositor.c @@ -538,6 +538,7 @@ composite_aligned_boxes (const cairo_spans_compositor_t *compositor, return status; } + status = CAIRO_INT_STATUS_UNSUPPORTED; if (! need_clip_mask && no_mask && source->type == CAIRO_PATTERN_TYPE_SOLID) { const cairo_color_t *color; @@ -547,7 +548,8 @@ composite_aligned_boxes (const cairo_spans_compositor_t *compositor, status = compositor->fill_boxes (dst, op, color, boxes); } else if (inplace && source->type == CAIRO_PATTERN_TYPE_SURFACE) { status = upload_boxes (compositor, extents, boxes); - } else { + } + if (status == CAIRO_INT_STATUS_UNSUPPORTED) { cairo_surface_t *src; cairo_surface_t *mask = NULL; int src_x, src_y; |