diff options
author | Benjamin Otte <otte@redhat.com> | 2010-06-07 16:46:46 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-06-07 16:46:46 +0200 |
commit | 7d8359721b581845260c0442a174e48b061484a7 (patch) | |
tree | 13143d52d26ec6cab4cf404dda55b8dde587d46a | |
parent | ef8fd1355ea03b8566ef31642b32133d3543e4e8 (diff) |
gl: Fix span renderer doing bad stuff for CLEAR and SOURCEgl
SOURCE will fallback now, CLEAR is identical to DEST_OUT with white.
-rw-r--r-- | src/cairo-gl-surface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c index 02278fbf..8a2379fe 100644 --- a/src/cairo-gl-surface.c +++ b/src/cairo-gl-surface.c @@ -1342,6 +1342,13 @@ _cairo_gl_surface_polygon (cairo_gl_surface_t *dst, if (! _cairo_surface_check_span_renderer (op, src, &dst->base, antialias)) return UNSUPPORTED ("no span renderer"); + if (op == CAIRO_OPERATOR_SOURCE) + return UNSUPPORTED ("SOURCE compositing doesn't work in GL"); + if (op == CAIRO_OPERATOR_CLEAR) { + op = CAIRO_OPERATOR_DEST_OUT; + src = &_cairo_pattern_white.base; + } + status = _cairo_surface_composite_polygon (&dst->base, op, src, |