From: Ian Romanick Date: Tue, 10 Nov 2015 03:02:21 +0000 (-0800) Subject: mesa: Refator _mesa_BindSampler to make _mesa_bind_sampler X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adb4b31bc33fda284319819877312f9e8631b657;p=mesa.git mesa: Refator _mesa_BindSampler to make _mesa_bind_sampler Pulls the parts of _mesa_BindSampler that aren't just parameter validation out into a function that can be called from other parts of Mesa (e.g., meta). Signed-off-by: Ian Romanick Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c index 62078f8ad05..fe15508696e 100644 --- a/src/mesa/main/samplerobj.c +++ b/src/mesa/main/samplerobj.c @@ -270,6 +270,17 @@ _mesa_IsSampler(GLuint sampler) return sampObj != NULL; } +void +_mesa_bind_sampler(struct gl_context *ctx, GLuint unit, + struct gl_sampler_object *sampObj) +{ + if (ctx->Texture.Unit[unit].Sampler != sampObj) { + FLUSH_VERTICES(ctx, _NEW_TEXTURE); + } + + _mesa_reference_sampler_object(ctx, &ctx->Texture.Unit[unit].Sampler, + sampObj); +} void GLAPIENTRY _mesa_BindSampler(GLuint unit, GLuint sampler) @@ -297,13 +308,8 @@ _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); + _mesa_bind_sampler(ctx, unit, sampObj); } diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h index 68a924ce931..abc6e019046 100644 --- a/src/mesa/main/samplerobj.h +++ b/src/mesa/main/samplerobj.h @@ -93,6 +93,10 @@ extern void _mesa_set_sampler_srgb_decode(struct gl_context *ctx, struct gl_sampler_object *samp, GLenum param); +extern void +_mesa_bind_sampler(struct gl_context *ctx, GLuint unit, + struct gl_sampler_object *sampObj); + void GLAPIENTRY _mesa_GenSamplers(GLsizei count, GLuint *samplers); void GLAPIENTRY