[PATCH 52/72] drm: consolidated *_release_source_image() surface functions
"Enrico Weigelt, metux IT consult" <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
The individual driver-specific backends all have their own release_source_image functions, which are all doing the same, so consolidate into one generic function. Signed-off-by: Enrico Weigelt, metux IT consult <[email protected]> --- src/drm/cairo-drm-i915-surface.c | 2 +- src/drm/cairo-drm-i965-surface.c | 2 +- src/drm/cairo-drm-intel-private.h | 5 ----- src/drm/cairo-drm-intel-surface.c | 10 +--------- src/drm/cairo-drm-private.h | 8 ++++++++ src/drm/cairo-drm-radeon-surface.c | 10 +--------- src/drm/cairo-drm-surface.c | 7 +++++++ 7 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/drm/cairo-drm-i915-surface.c b/src/drm/cairo-drm-i915-surface.c index d01de33..93d9244 100644 --- a/src/drm/cairo-drm-i915-surface.c +++ b/src/drm/cairo-drm-i915-surface.c @@ -2360,7 +2360,7 @@ static const cairo_surface_backend_t i915_surface_backend = { .create_similar = i915_surface_create_similar, .finish = i915_surface_finish, .acquire_source_image = _cairo_drm_surface_acquire_source_image, - .release_source_image = intel_surface_release_source_image, + .release_source_image = _cairo_drm_surface_release_source_image, .get_extents = _cairo_drm_surface_get_extents, .get_font_options = _cairo_drm_surface_get_font_options, .flush = i915_surface_flush, diff --git a/src/drm/cairo-drm-i965-surface.c b/src/drm/cairo-drm-i965-surface.c index 18c22ee..ad4ff64 100644 --- a/src/drm/cairo-drm-i965-surface.c +++ b/src/drm/cairo-drm-i965-surface.c @@ -1497,7 +1497,7 @@ static const cairo_surface_backend_t i965_surface_backend = { .create_similar = i965_surface_create_similar, .finish = i965_surface_finish, .acquire_source_image = _cairo_drm_surface_acquire_source_image, - .release_source_image = intel_surface_release_source_image, + .release_source_image = _cairo_drm_surface_release_source_image, .get_extents = _cairo_drm_surface_get_extents, .get_font_options = _cairo_drm_surface_get_font_options, .flush = i965_surface_flush, diff --git a/src/drm/cairo-drm-intel-private.h b/src/drm/cairo-drm-intel-private.h index 1f342ce..aea65e0 100644 --- a/src/drm/cairo-drm-intel-private.h +++ b/src/drm/cairo-drm-intel-private.h @@ -424,11 +424,6 @@ intel_snapshot_cache_thaw (intel_device_t *device); cairo_private void intel_throttle (intel_device_t *device); -cairo_private void -intel_surface_release_source_image (void *abstract_surface, - cairo_image_surface_t *image, - void *image_extra); - cairo_private cairo_status_t intel_surface_flush (void *abstract_surface, unsigned flags); diff --git a/src/drm/cairo-drm-intel-surface.c b/src/drm/cairo-drm-intel-surface.c index daf51de..05de14a 100644 --- a/src/drm/cairo-drm-intel-surface.c +++ b/src/drm/cairo-drm-intel-surface.c @@ -62,14 +62,6 @@ intel_surface_finish (void *abstract_surface) return _cairo_drm_surface_finish (&surface->drm); } -void -intel_surface_release_source_image (void *abstract_surface, - cairo_image_surface_t *image, - void *image_extra) -{ - cairo_surface_destroy (&image->base); -} - cairo_status_t intel_surface_flush (void *abstract_surface, unsigned flags) { @@ -98,7 +90,7 @@ static const cairo_surface_backend_t intel_surface_backend = { .create_similar = intel_surface_create_similar, .finish = intel_surface_finish, .acquire_source_image = _cairo_drm_surface_acquire_source_image, - .release_source_image = intel_surface_release_source_image, + .release_source_image = _cairo_drm_surface_release_source_image, .get_extents = _cairo_drm_surface_get_extents, .get_font_options = _cairo_drm_surface_get_font_options, .flush = intel_surface_flush, diff --git a/src/drm/cairo-drm-private.h b/src/drm/cairo-drm-private.h index 58d3758..d0916e4 100644 --- a/src/drm/cairo-drm-private.h +++ b/src/drm/cairo-drm-private.h @@ -325,6 +325,11 @@ _cairo_drm_device_fini (cairo_drm_device_t *device); cairo_private cairo_surface_t * _cairo_drm_surface_map_to_image (void *abstract_surface); +cairo_private void +_cairo_drm_surface_release_source_image (void *abstract_surface, + cairo_image_surface_t *image, + void *image_extra); + /* default / dumb framebuffer backend ops */ cairo_private cairo_int_status_t @@ -379,6 +384,9 @@ _cairo_drm_surface_acquire_source_image (void *abstract_surface, /* h/w specific backends */ cairo_private cairo_drm_device_t * +_cairo_drm_basic_device_create (int fd, dev_t dev, int vendor_id, int chip_id); + +cairo_private cairo_drm_device_t * _cairo_drm_intel_device_create (int fd, dev_t dev, int vendor_id, int chip_id); cairo_private cairo_drm_device_t * diff --git a/src/drm/cairo-drm-radeon-surface.c b/src/drm/cairo-drm-radeon-surface.c index bf4a709..18b4c6a 100644 --- a/src/drm/cairo-drm-radeon-surface.c +++ b/src/drm/cairo-drm-radeon-surface.c @@ -54,14 +54,6 @@ radeon_surface_create_similar (void *abstract_surface, width, height); } -static void -radeon_surface_release_source_image (void *abstract_surface, - cairo_image_surface_t *image, - void *image_extra) -{ - cairo_surface_destroy (&image->base); -} - static cairo_status_t radeon_surface_flush (void *abstract_surface, unsigned flags) @@ -93,7 +85,7 @@ static const cairo_surface_backend_t radeon_surface_backend = { .create_similar = radeon_surface_create_similar, .finish = _cairo_drm_surface_finish, .acquire_source_image = _cairo_drm_surface_acquire_source_image, - .release_source_image = radeon_surface_release_source_image, + .release_source_image = _cairo_drm_surface_release_source_image, .get_extents = _cairo_drm_surface_get_extents, .get_font_options = _cairo_drm_surface_get_font_options, .flush = radeon_surface_flush, diff --git a/src/drm/cairo-drm-surface.c b/src/drm/cairo-drm-surface.c index 7fbfb49..e7f7872 100644 --- a/src/drm/cairo-drm-surface.c +++ b/src/drm/cairo-drm-surface.c @@ -573,3 +573,10 @@ DONE: *image_extra = NULL; return CAIRO_STATUS_SUCCESS; } + +void _cairo_drm_surface_release_source_image (void *abstract_surface, + cairo_image_surface_t *image, + void *image_extra) +{ + cairo_surface_destroy (&image->base); +} -- 2.6.4.442.g545299f -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo