diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-14 13:21:40 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-10-14 13:23:02 +0100 |
commit | 10ebda8698425a23f07b3062233500ec22ebc347 (patch) | |
tree | 597468674c8a7aa6d09c01bbf0d84cc89f21c59e /src/cairo-xlib-render-compositor.c | |
parent | a8c3a22f2d98d0d1e9fd182857222d304d83dc22 (diff) | |
download | cairo-10ebda8698425a23f07b3062233500ec22ebc347.tar.gz |
xlib: Reduce the composite traps operator for when the dest is clear
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xlib-render-compositor.c')
-rw-r--r-- | src/cairo-xlib-render-compositor.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c index 60d99844f..4088281de 100644 --- a/src/cairo-xlib-render-compositor.c +++ b/src/cairo-xlib-render-compositor.c @@ -1517,6 +1517,12 @@ composite_traps (void *abstract_dst, //X_DEBUG ((display->display, "composite_trapezoids (dst=%x)", (unsigned int) dst->drawable)); + if (dst->base.is_clear && + (op == CAIRO_OPERATOR_OVER || op == CAIRO_OPERATOR_ADD)) + { + op = CAIRO_OPERATOR_SOURCE; + } + pict_format = _cairo_xlib_display_get_xrender_format (display, antialias == CAIRO_ANTIALIAS_NONE ? CAIRO_FORMAT_A1 : CAIRO_FORMAT_A8); |