From: Brian Paul Date: Thu, 14 Jul 2011 14:09:21 +0000 (-0600) Subject: mesa: use inline function wrapper for _mesa_reference_renderbuffer() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=74142f1bf2a50fb929b593ebf7fda88da9da17f9;p=mesa.git mesa: use inline function wrapper for _mesa_reference_renderbuffer() --- diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c index f5b20020d23..70011e6b24a 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 53da5b03385..f9329d55fa5 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 */