summaryrefslogtreecommitdiff
path: root/src/cairo-spans-compositor.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-03-05 11:49:50 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-03-05 12:02:31 +0000
commite572ae253a9fe62ba5d61bc6e98c9efc502d7414 (patch)
treeefb405b1e215ea88330c3521ff1d0554b02074fd /src/cairo-spans-compositor.c
parentac80097a31098a9ac746c3d14c1eeaa2198dbef8 (diff)
downloadcairo-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.c4
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;