[PATCH 41/71] drm: consolidated *_bo_release() functions

"Enrico Weigelt, metux IT consult" <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Signed-off-by: Enrico Weigelt, metux IT consult <[email protected]>
---
 src/drm/cairo-drm-intel.c   | 17 +----------------
 src/drm/cairo-drm-private.h |  3 +++
 src/drm/cairo-drm-radeon.c  | 12 +-----------
 src/drm/cairo-drm.c         |  8 ++++++++
 4 files changed, 13 insertions(+), 27 deletions(-)

diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 515eec91c..1bf522bb9 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -485,21 +485,6 @@ FAIL:
     return NULL;
 }
 
-static void
-intel_bo_release (cairo_drm_device_t *_dev, cairo_drm_bo_t *_bo)
-{
-    intel_device_t *device = _cairo_drm_device_cast_intel(_dev);
-    intel_bo_t *bo = _cairo_drm_bo_cast_intel(_bo);
-
-    _cairo_drm_bo_unmap (_bo);
-
-    assert (bo->exec == NULL);
-    assert (cairo_list_is_empty (&bo->cache_list));
-
-    _cairo_drm_bo_close (_dev, _bo);
-    _cairo_freepool_free (&device->base.bo_pool, bo);
-}
-
 void
 intel_bo_set_tiling (const intel_device_t *device,
 	             intel_bo_t *bo)
@@ -720,7 +705,7 @@ intel_device_init (intel_device_t *device, int fd)
 
     device->gradient_cache.size = 0;
 
-    device->base.bo.release = intel_bo_release;
+    device->base.bo.release = _cairo_drm_bo_release;
     device->base.bo.map     = _cairo_drm_intel_bo_map;
 
     return CAIRO_STATUS_SUCCESS;
diff --git a/src/drm/cairo-drm-private.h b/src/drm/cairo-drm-private.h
index ca295d943..d62b953aa 100644
--- a/src/drm/cairo-drm-private.h
+++ b/src/drm/cairo-drm-private.h
@@ -193,6 +193,9 @@ _cairo_device_cast_drm_const(const cairo_device_t *device)
 cairo_private void
 _cairo_drm_bo_unmap (cairo_drm_bo_t *bo);
 
+cairo_private void
+_cairo_drm_bo_release (cairo_drm_device_t *device, cairo_drm_bo_t *bo);
+
 static inline cairo_drm_bo_t *
 cairo_drm_bo_reference (cairo_drm_bo_t *bo)
 {
diff --git a/src/drm/cairo-drm-radeon.c b/src/drm/cairo-drm-radeon.c
index 72cc0b04c..c8905cee4 100644
--- a/src/drm/cairo-drm-radeon.c
+++ b/src/drm/cairo-drm-radeon.c
@@ -242,16 +242,6 @@ radeon_bo_create_for_name (radeon_device_t *device,
     return &bo->base;
 }
 
-static void
-radeon_bo_release (cairo_drm_device_t *_dev, cairo_drm_bo_t *_bo)
-{
-    radeon_device_t *device = _cairo_drm_device_cast_radeon(_dev);
-    radeon_bo_t *bo = _cairo_drm_bo_cast_radeon(_bo);
-
-    _cairo_drm_bo_close (&device->base, &bo->base);
-    _cairo_freepool_free (&device->base.bo_pool, bo);
-}
-
 cairo_surface_t *
 _cairo_drm_radeon_bo_get_image (const cairo_drm_device_t *drm_dev,
 	             cairo_drm_bo_t *drm_bo,
@@ -299,7 +289,7 @@ radeon_device_init (radeon_device_t *device, int fd)
 {
     _cairo_freepool_init (&device->base.bo_pool, sizeof (radeon_bo_t));
 
-    device->base.bo.release   = radeon_bo_release;
+    device->base.bo.release   = _cairo_drm_bo_release;
     device->base.bo.map       = _cairo_drm_radeon_bo_map;
     device->base.bo.get_image = _cairo_drm_radeon_bo_get_image;
 
diff --git a/src/drm/cairo-drm.c b/src/drm/cairo-drm.c
index d4c107925..42bb04199 100644
--- a/src/drm/cairo-drm.c
+++ b/src/drm/cairo-drm.c
@@ -388,3 +388,11 @@ cairo_drm_device_throttle (cairo_device_t *abstract_device)
     if (unlikely (status))
 	_cairo_status_set_error (&device->base.status, status);
 }
+
+void
+_cairo_drm_bo_release (cairo_drm_device_t *device, cairo_drm_bo_t *bo)
+{
+    _cairo_drm_bo_unmap (bo);
+    _cairo_drm_bo_close (device, bo);
+    _cairo_freepool_free (&device->bo_pool, bo);
+}
-- 
2.11.0.rc0.7.gbe5a750

-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.