[gegl] buffer: disable gegl_buffer_lock / gegl_buffer_unlock



commit d0be9b7cba271a496e5873be9762760543e70266
Author: Øyvind Kolås <pippin gimp org>
Date:   Fri Jun 20 04:33:41 2014 +0200

    buffer: disable gegl_buffer_lock / gegl_buffer_unlock
    
    Without threading; the locking is just function call overhead.

 gegl/buffer/gegl-buffer-private.h |    8 ++++++++
 gegl/buffer/gegl-buffer.c         |    2 ++
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-private.h b/gegl/buffer/gegl-buffer-private.h
index d51394d..b056f56 100644
--- a/gegl/buffer/gegl-buffer-private.h
+++ b/gegl/buffer/gegl-buffer-private.h
@@ -100,9 +100,17 @@ GeglTileBackend * gegl_buffer_backend2    (GeglBuffer *buffer); /* non-cached */
 
 gboolean          gegl_buffer_is_shared   (GeglBuffer *buffer);
 
+#define GEGL_BUFFER_DISABLE_LOCKS 1
+
+#ifdef GEGL_BUFFER_DISABLE_LOCKS
+#define           gegl_buffer_try_lock(a)   (TRUE)
+#define           gegl_buffer_lock(a)       do{}while(0)
+#define           gegl_buffer_unlock(a)       do{}while(0)
+#else
 gboolean          gegl_buffer_try_lock    (GeglBuffer *buffer);
 gboolean          gegl_buffer_lock        (GeglBuffer *buffer);
 gboolean          gegl_buffer_unlock      (GeglBuffer *buffer);
+#endif
 
 void              gegl_buffer_set_unlocked (GeglBuffer          *buffer,
                                             const GeglRectangle *rect,
diff --git a/gegl/buffer/gegl-buffer.c b/gegl/buffer/gegl-buffer.c
index 5a3db18..601c6ee 100644
--- a/gegl/buffer/gegl-buffer.c
+++ b/gegl/buffer/gegl-buffer.c
@@ -1098,6 +1098,7 @@ gegl_buffer_is_shared (GeglBuffer *buffer)
   return backend->priv->shared;
 }
 
+#ifndef GEGL_BUFFER_DISABLE_LOCKS
 gboolean
 gegl_buffer_try_lock (GeglBuffer *buffer)
 {
@@ -1154,6 +1155,7 @@ gegl_buffer_unlock (GeglBuffer *buffer)
 
   return ret;
 }
+#endif
 
 void
 gegl_buffer_emit_changed_signal (GeglBuffer          *buffer,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]