Module: Mesa Branch: master Commit: ecba76d3c0f644c5f3ca84a7b40ea799a9eaf165 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ecba76d3c0f644c5f3ca84a7b40ea799a9eaf165
Author: Ian Romanick <[email protected]> Date: Mon Nov 9 11:59:19 2015 -0800 mesa: Add _mesa_set_sampler_filters method v2: Add filter enum assertions. Suggested by Jason. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> --- src/mesa/main/samplerobj.c | 21 +++++++++++++++++++++ src/mesa/main/samplerobj.h | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c index 17b3400..d74435e 100644 --- a/src/mesa/main/samplerobj.c +++ b/src/mesa/main/samplerobj.c @@ -509,6 +509,27 @@ set_sampler_wrap_r(struct gl_context *ctx, struct gl_sampler_object *samp, return INVALID_PARAM; } +void +_mesa_set_sampler_filters(struct gl_context *ctx, + struct gl_sampler_object *samp, + GLenum min_filter, GLenum mag_filter) +{ + assert(min_filter == GL_NEAREST || + min_filter == GL_LINEAR || + min_filter == GL_NEAREST_MIPMAP_NEAREST || + min_filter == GL_LINEAR_MIPMAP_NEAREST || + min_filter == GL_NEAREST_MIPMAP_LINEAR || + min_filter == GL_LINEAR_MIPMAP_LINEAR); + assert(mag_filter == GL_NEAREST || + mag_filter == GL_LINEAR); + + if (samp->MinFilter == min_filter && samp->MagFilter == mag_filter) + return; + + flush(ctx); + samp->MinFilter = min_filter; + samp->MagFilter = mag_filter; +} static GLuint set_sampler_min_filter(struct gl_context *ctx, struct gl_sampler_object *samp, diff --git a/src/mesa/main/samplerobj.h b/src/mesa/main/samplerobj.h index 1817c1a..c35052e 100644 --- a/src/mesa/main/samplerobj.h +++ b/src/mesa/main/samplerobj.h @@ -84,6 +84,11 @@ extern void _mesa_set_sampler_wrap(struct gl_context *ctx, struct gl_sampler_object *samp, GLenum s, GLenum t, GLenum r); +extern void +_mesa_set_sampler_filters(struct gl_context *ctx, + struct gl_sampler_object *samp, + GLenum min_filter, GLenum mag_filter); + void GLAPIENTRY _mesa_GenSamplers(GLsizei count, GLuint *samplers); void GLAPIENTRY _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
