diff options
author | Brian Paul <[email protected]> | 2011-07-14 08:09:21 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-07-14 08:14:08 -0600 |
commit | 5db7723ada0be301b7f8eed754cb62f8a84d6768 (patch) | |
tree | 3ce1aa09dc61a72939cb134cd48d6dcdc22f8539 | |
parent | 6214963c00769a724da8c599c3aee6920f7f6c31 (diff) |
mesa: use inline function wrapper for _mesa_reference_framebuffer()
-rw-r--r-- | src/mesa/main/framebuffer.c | 12 | ||||
-rw-r--r-- | src/mesa/main/framebuffer.h | 10 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 6e2ce74212e..e27569a6fac 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -232,17 +232,13 @@ _mesa_free_framebuffer_data(struct gl_framebuffer *fb) /** * Set *ptr to point to fb, with refcounting and locking. + * This is normally only called from the _mesa_reference_framebuffer() macro + * when there's a real pointer change. */ void -_mesa_reference_framebuffer(struct gl_framebuffer **ptr, - struct gl_framebuffer *fb) +_mesa_reference_framebuffer_(struct gl_framebuffer **ptr, + struct gl_framebuffer *fb) { - assert(ptr); - if (*ptr == fb) { - /* no change */ - return; - } - if (*ptr) { /* unreference old renderbuffer */ GLboolean deleteFlag = GL_FALSE; diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h index c3bd638c9de..b2b29a7a1db 100644 --- a/src/mesa/main/framebuffer.h +++ b/src/mesa/main/framebuffer.h @@ -51,8 +51,16 @@ extern void _mesa_free_framebuffer_data(struct gl_framebuffer *buffer); extern void +_mesa_reference_framebuffer_(struct gl_framebuffer **ptr, + struct gl_framebuffer *fb); + +static INLINE void _mesa_reference_framebuffer(struct gl_framebuffer **ptr, - struct gl_framebuffer *fb); + struct gl_framebuffer *fb) +{ + if (*ptr != fb) + _mesa_reference_framebuffer_(ptr, fb); +} extern void _mesa_resize_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb, |