mesa: use inline function wrapper for _mesa_reference_texobj()

This commit is contained in:
Brian Paul
2011-07-14 08:09:21 -06:00
parent 74142f1bf2
commit db0f2b3637
2 changed files with 15 additions and 7 deletions

View File

@@ -325,16 +325,14 @@ valid_texture_object(const struct gl_texture_object *tex)
* Reference (or unreference) a texture object.
* If '*ptr', decrement *ptr's refcount (and delete if it becomes zero).
* If 'tex' is non-null, increment its refcount.
* This is normally only called from the _mesa_reference_texobj() macro
* when there's a real pointer change.
*/
void
_mesa_reference_texobj(struct gl_texture_object **ptr,
struct gl_texture_object *tex)
_mesa_reference_texobj_(struct gl_texture_object **ptr,
struct gl_texture_object *tex)
{
assert(ptr);
if (*ptr == tex) {
/* no change */
return;
}
if (*ptr) {
/* Unreference the old texture */

View File

@@ -32,6 +32,7 @@
#define TEXTOBJ_H
#include "compiler.h"
#include "glheader.h"
struct gl_context;
@@ -64,8 +65,17 @@ _mesa_clear_texture_object(struct gl_context *ctx,
struct gl_texture_object *obj);
extern void
_mesa_reference_texobj_(struct gl_texture_object **ptr,
struct gl_texture_object *tex);
static INLINE void
_mesa_reference_texobj(struct gl_texture_object **ptr,
struct gl_texture_object *tex);
struct gl_texture_object *tex)
{
if (*ptr != tex)
_mesa_reference_texobj_(ptr, tex);
}
extern void
_mesa_test_texobj_completeness( const struct gl_context *ctx,