summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-surface-private.h
diff options
context:
space:
mode:
authorThomas Jaeger <ThJaeger@gmail.com>2009-02-19 12:02:41 -0500
committerChris Wilson <chris@chris-wilson.co.uk>2009-06-05 17:26:09 +0100
commita1d0a06b6275cac3974be84919993e187394fe43 (patch)
treeb5d1d034388f807c6d2208ff08063410caef82d1 /src/cairo-xlib-surface-private.h
parent60aefd0d634c531353c92b77b36424b142efeb93 (diff)
downloadcairo-a1d0a06b6275cac3974be84919993e187394fe43.tar.gz
xlib, xcb: Hand off EXTEND_PAD/EXTEND_REFLECT to Render
Most drivers and the X server used to have incorrect RepeatPad/RepeatReflect implementations, forcing cairo to fall back to client-side software rendering, which is painfully slow due to pixmaps being transfered over the wire. These issues are mostly fixed in the drivers (with the exception of radeonhd, whose developers didn't respond) and the RepeatPad software fallback is implemented correctly as of pixman-0.15.0, so this patch will hand off composite operations with EXTEND_PAD/EXTEND_REFLECT source patterns to XRender. There is no way to detect whether the X server or the drivers use a broken Render implementation, we make a guess based on the server version: It's probably safe to assume that 1.7 X servers will use fixed drivers and a recent enough version of pixman.
Diffstat (limited to 'src/cairo-xlib-surface-private.h')
-rw-r--r--src/cairo-xlib-surface-private.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairo-xlib-surface-private.h b/src/cairo-xlib-surface-private.h
index fe37e5fbd..164fe15f2 100644
--- a/src/cairo-xlib-surface-private.h
+++ b/src/cairo-xlib-surface-private.h
@@ -76,6 +76,7 @@ struct _cairo_xlib_surface {
* we can reuse the test for now.
*/
cairo_bool_t buggy_repeat;
+ cairo_bool_t buggy_pad_reflect;
int width;
int height;