Mesa (master): mesa: use inline function wrapper for _mesa_reference_renderbuffer()

Brian Paul brianp at kemper.freedesktop.org
Thu Jul 14 14:16:32 UTC 2011


Module: Mesa
Branch: master
Commit: 74142f1bf2a50fb929b593ebf7fda88da9da17f9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=74142f1bf2a50fb929b593ebf7fda88da9da17f9

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Jul 14 08:09:21 2011 -0600

mesa: use inline function wrapper for _mesa_reference_renderbuffer()

---

 src/mesa/main/renderbuffer.c |   12 ++++--------
 src/mesa/main/renderbuffer.h |   11 ++++++++++-
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index f5b2002..70011e6 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -2530,17 +2530,13 @@ _mesa_remove_renderbuffer(struct gl_framebuffer *fb,
  * Set *ptr to point to rb.  If *ptr points to another renderbuffer,
  * dereference that buffer first.  The new renderbuffer's refcount will
  * be incremented.  The old renderbuffer's refcount will be decremented.
+ * This is normally only called from the _mesa_reference_renderbuffer() macro
+ * when there's a real pointer change.
  */
 void
-_mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
-                             struct gl_renderbuffer *rb)
+_mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
+                              struct gl_renderbuffer *rb)
 {
-   assert(ptr);
-   if (*ptr == rb) {
-      /* no change */
-      return;
-   }
-
    if (*ptr) {
       /* Unreference the old renderbuffer */
       GLboolean deleteFlag = GL_FALSE;
diff --git a/src/mesa/main/renderbuffer.h b/src/mesa/main/renderbuffer.h
index 53da5b0..f9329d5 100644
--- a/src/mesa/main/renderbuffer.h
+++ b/src/mesa/main/renderbuffer.h
@@ -105,8 +105,17 @@ _mesa_remove_renderbuffer(struct gl_framebuffer *fb,
                           gl_buffer_index bufferName);
 
 extern void
+_mesa_reference_renderbuffer_(struct gl_renderbuffer **ptr,
+                              struct gl_renderbuffer *rb);
+
+static INLINE void
 _mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
-                             struct gl_renderbuffer *rb);
+                             struct gl_renderbuffer *rb)
+{
+   if (*ptr != rb)
+      _mesa_reference_renderbuffer_(ptr, rb);
+}
+      
 
 
 #endif /* RENDERBUFFER_H */




More information about the mesa-commit mailing list