diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-14 11:31:46 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-14 11:31:46 +0100 |
commit | 3f5289b29962c3e5d94deb30782a156292d20053 (patch) | |
tree | 5173511daef9fedadf45f94e8fc01f27f605ad87 | |
parent | 3d79264ef8a8be225d9b13efd14f37a7478e6b1b (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.c | 8 |
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)) { |