summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-10-14 11:31:46 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-10-14 11:31:46 +0100
commit3f5289b29962c3e5d94deb30782a156292d20053 (patch)
tree5173511daef9fedadf45f94e8fc01f27f605ad87
parent3d79264ef8a8be225d9b13efd14f37a7478e6b1b (diff)
sna/trapezoids: Fallback if the composite operation is not supported
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_trapezoids.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/sna/sna_trapezoids.c b/src/sna/sna_trapezoids.c
index b0331cb2..1549ef50 100644
--- a/src/sna/sna_trapezoids.c
+++ b/src/sna/sna_trapezoids.c
@@ -2641,7 +2641,7 @@ mono_trapezoids_span_converter(CARD8 op, PicturePtr src, PicturePtr dst,
}
memset(&mono.op, 0, sizeof(mono.op));
- if (mono.sna->render.composite(mono.sna, op, src, NULL, dst,
+ if (!mono.sna->render.composite(mono.sna, op, src, NULL, dst,
src_x + mono.clip.extents.x1 - dst_x - dx,
src_y + mono.clip.extents.y1 - dst_y - dy,
0, 0,
@@ -2649,9 +2649,11 @@ mono_trapezoids_span_converter(CARD8 op, PicturePtr src, PicturePtr dst,
mono.clip.extents.x2 - mono.clip.extents.x1,
mono.clip.extents.y2 - mono.clip.extents.y1,
&mono.op)) {
- mono_render(&mono);
- mono.op.done(mono.sna, &mono.op);
+ mono_fini(&mono);
+ return false;
}
+ mono_render(&mono);
+ mono.op.done(mono.sna, &mono.op);
mono_fini(&mono);
if (!operator_is_bounded(op)) {