diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-08-13 01:34:12 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-08-17 13:58:09 +0100 |
commit | 0bfd2acd35547fc2bd0de99cc67d153f0170697d (patch) | |
tree | c59ffaad038cb57115c68505b36aa6bc15d88fa7 /src/cairo-xlib-display.c | |
parent | 140fafed89508c4685f3a464c9dbe8df769f2411 (diff) | |
download | cairo-0bfd2acd35547fc2bd0de99cc67d153f0170697d.tar.gz |
xlib: Implement SHM fallbacks and fast upload paths
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-xlib-display.c')
-rw-r--r-- | src/cairo-xlib-display.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c index 06242ff16..bfe616812 100644 --- a/src/cairo-xlib-display.c +++ b/src/cairo-xlib-display.c @@ -95,6 +95,8 @@ _cairo_xlib_display_destroy (void *abstract_display) { cairo_xlib_display_t *display = abstract_display; + _cairo_xlib_display_fini_shm (display); + free (display); } @@ -147,15 +149,18 @@ static const cairo_device_backend_t _cairo_xlib_device_backend = { _cairo_xlib_display_destroy, }; - static void _cairo_xlib_display_select_compositor (cairo_xlib_display_t *display) { +#if 1 if (display->render_major > 0 || display->render_minor >= 4) display->compositor = _cairo_xlib_traps_compositor_get (); else if (display->render_major > 0 || display->render_minor >= 0) display->compositor = _cairo_xlib_mask_compositor_get (); else display->compositor = _cairo_xlib_core_compositor_get (); +#else + display->compositor = _cairo_xlib_fallback_compositor_get (); +#endif } /** @@ -263,6 +268,8 @@ _cairo_xlib_device_create (Display *dpy) display->force_precision = -1; + _cairo_xlib_display_init_shm (display); + /* Prior to Render 0.10, there is no protocol support for gradients and * we call function stubs instead, which would silently consume the drawing. */ |