mesa: Add _mesa_set_sampler_filters method

v2: Add filter enum assertions.  Suggested by Jason.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Ian Romanick 2015-11-09 11:59:19 -08:00
parent 08822b4b43
commit ecba76d3c0
2 changed files with 26 additions and 0 deletions

View File

@ -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,

View File

@ -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