diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-03-26 19:37:08 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-05-12 20:54:49 +0100 |
commit | bd672d080ca0036ef1b88d26583e6af36f541461 (patch) | |
tree | 78504de713e643fc0909fc1c3e9fbfb30f9b28af /boilerplate | |
parent | c8fba4960339797521afbf8068fcbe62d064f5dc (diff) |
drm: code dump, sorry.
Lots upon lots of tiny fixes mixed in with experimental code. :(
Diffstat (limited to 'boilerplate')
-rw-r--r-- | boilerplate/Makefile.win32.features | 18 | ||||
-rw-r--r-- | boilerplate/cairo-boilerplate-drm.c | 12 |
2 files changed, 28 insertions, 2 deletions
diff --git a/boilerplate/Makefile.win32.features b/boilerplate/Makefile.win32.features index 31bd4e060..50ee95cb6 100644 --- a/boilerplate/Makefile.win32.features +++ b/boilerplate/Makefile.win32.features @@ -169,6 +169,16 @@ enabled_cairo_boilerplate_private += $(cairo_boilerplate_drm_private) enabled_cairo_boilerplate_sources += $(cairo_boilerplate_drm_sources) endif +unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers) +all_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers) +all_cairo_boilerplate_private += $(cairo_boilerplate_drm_xr_private) +all_cairo_boilerplate_sources += $(cairo_boilerplate_drm_xr_sources) +ifeq ($(CAIRO_HAS_DRM_XR_FUNCTIONS),1) +enabled_cairo_boilerplate_headers += $(cairo_boilerplate_drm_xr_headers) +enabled_cairo_boilerplate_private += $(cairo_boilerplate_drm_xr_private) +enabled_cairo_boilerplate_sources += $(cairo_boilerplate_drm_xr_sources) +endif + unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers) all_cairo_boilerplate_headers += $(cairo_boilerplate_gallium_headers) all_cairo_boilerplate_private += $(cairo_boilerplate_gallium_private) @@ -199,6 +209,14 @@ enabled_cairo_boilerplate_private += $(cairo_boilerplate_png_private) enabled_cairo_boilerplate_sources += $(cairo_boilerplate_png_sources) endif +supported_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers) +all_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers) +all_cairo_boilerplate_private += $(cairo_boilerplate_glew_private) +all_cairo_boilerplate_sources += $(cairo_boilerplate_glew_sources) +enabled_cairo_boilerplate_headers += $(cairo_boilerplate_glew_headers) +enabled_cairo_boilerplate_private += $(cairo_boilerplate_glew_private) +enabled_cairo_boilerplate_sources += $(cairo_boilerplate_glew_sources) + unsupported_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers) all_cairo_boilerplate_headers += $(cairo_boilerplate_gl_headers) all_cairo_boilerplate_private += $(cairo_boilerplate_gl_private) diff --git a/boilerplate/cairo-boilerplate-drm.c b/boilerplate/cairo-boilerplate-drm.c index f79bcca74..93709afe6 100644 --- a/boilerplate/cairo-boilerplate-drm.c +++ b/boilerplate/cairo-boilerplate-drm.c @@ -46,12 +46,20 @@ _cairo_boilerplate_drm_create_surface (const char *name, void **closure) { cairo_device_t *device; + cairo_format_t format; device = cairo_drm_device_default (); if (device == NULL) return NULL; /* skip tests if no supported h/w found */ - return *closure = cairo_drm_surface_create (device, content, width, height); + switch (content) { + case CAIRO_CONTENT_ALPHA: format = CAIRO_FORMAT_A8; break; + case CAIRO_CONTENT_COLOR: format = CAIRO_FORMAT_RGB24; break; + default: + case CAIRO_CONTENT_COLOR_ALPHA: format = CAIRO_FORMAT_ARGB32; break; + } + + return *closure = cairo_drm_surface_create (device, format, width, height); } static void @@ -59,7 +67,7 @@ _cairo_boilerplate_drm_synchronize (void *closure) { cairo_surface_t *image; - image = cairo_drm_surface_map (closure); + image = cairo_drm_surface_map_to_image (closure); if (cairo_surface_status (image) == CAIRO_STATUS_SUCCESS) cairo_drm_surface_unmap (closure, image); } |