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