summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-01-27 16:51:52 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-01-27 16:51:52 +0000
commitd9d5adec256b3935e4f261d81c37c77a2649248b (patch)
tree6e30463db8be80bfe3dcba167eb62e5f6e0dfe4c
parent1ba9fb6fadcc1cb619af0ef974dffb0ff8672244 (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.c34
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 {