diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-27 16:51:52 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-27 16:51:52 +0000 |
commit | d9d5adec256b3935e4f261d81c37c77a2649248b (patch) | |
tree | 6e30463db8be80bfe3dcba167eb62e5f6e0dfe4c | |
parent | 1ba9fb6fadcc1cb619af0ef974dffb0ff8672244 (diff) |
image: And more fallout from c986a73, restore the absent short runs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/cairo-image-compositor.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c index 51b4ce36..150efdb2 100644 --- a/src/cairo-image-compositor.c +++ b/src/cairo-image-compositor.c @@ -2441,15 +2441,14 @@ _inplace_spans (void *abstract_renderer, len, h); mask = (uint8_t *)pixman_image_get_data (r->mask); x0 = spans[1].x; - } else if (spans[0].coverage == 0x0) { - if (x1 - x0 > r->u.composite.run_length) { - pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst, - x0 + r->u.composite.src_x, - y + r->u.composite.src_y, - 0, 0, - x0, y, - x1 - x0, h); - } + } else if (spans[0].coverage == 0x0 && + x1 - x0 > r->u.composite.run_length) { + pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst, + x0 + r->u.composite.src_x, + y + r->u.composite.src_y, + 0, 0, + x0, y, + x1 - x0, h); mask = (uint8_t *)pixman_image_get_data (r->mask); x0 = spans[1].x; }else { @@ -2492,15 +2491,14 @@ _inplace_opacity_spans (void *abstract_renderer, int y, int h, uint8_t m = mul8_8(spans[0].coverage, r->bpp); *mask++ = m; if (len > 1) { - if (m == 0) { - if (x1 - x0 > r->u.composite.run_length) { - pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst, - x0 + r->u.composite.src_x, - y + r->u.composite.src_y, - 0, 0, - x0, y, - x1 - x0, h); - } + if (m == 0 && + x1 - x0 > r->u.composite.run_length) { + pixman_image_composite32 (r->op, r->src, r->mask, r->u.composite.dst, + x0 + r->u.composite.src_x, + y + r->u.composite.src_y, + 0, 0, + x0, y, + x1 - x0, h); mask = (uint8_t *)pixman_image_get_data (r->mask); x0 = spans[1].x; }else { |