In all cases the comparison is either alreay done, or in the case of deletes comparing against NULL.
gcc wasn't optimising it away either --- src/mesa/main/samplerobj.c | 13 ++++++------- src/mesa/main/samplerobj.h | 11 +---------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c index 32180fb1..98bced7 100644 --- a/src/mesa/main/samplerobj.c +++ b/src/mesa/main/samplerobj.c @@ -77,9 +77,9 @@ lookup_samplerobj_locked(struct gl_context *ctx, GLuint name) * Handle reference counting. */ void -_mesa_reference_sampler_object_(struct gl_context *ctx, - struct gl_sampler_object **ptr, - struct gl_sampler_object *samp) +_mesa_reference_sampler_object(struct gl_context *ctx, + struct gl_sampler_object **ptr, + struct gl_sampler_object *samp) { assert(*ptr != samp); /* The inline wrapper should prevent no-op calls */ @@ -312,11 +312,10 @@ _mesa_BindSampler(GLuint unit, GLuint sampler) if (ctx->Texture.Unit[unit].Sampler != sampObj) { FLUSH_VERTICES(ctx, _NEW_TEXTURE); + /* bind new sampler */ + _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[unit].Sampler, + sampObj); } - - /* bind new sampler */ - _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[unit].Sampler, - sampObj); } diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h index 7bea911..438509e 100644 --- a/src/mesa/main/samplerobj.h +++ b/src/mesa/main/samplerobj.h @@ -58,18 +58,9 @@ _mesa_is_mipmap_filter(const struct gl_sampler_object *samp) extern void -_mesa_reference_sampler_object_(struct gl_context *ctx, - struct gl_sampler_object **ptr, - struct gl_sampler_object *samp); - -static inline void _mesa_reference_sampler_object(struct gl_context *ctx, struct gl_sampler_object **ptr, - struct gl_sampler_object *samp) -{ - if (*ptr != samp) - _mesa_reference_sampler_object_(ctx, ptr, samp); -} + struct gl_sampler_object *samp); extern struct gl_sampler_object * _mesa_lookup_samplerobj(struct gl_context *ctx, GLuint name); -- 2.4.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev