mesa: add bind_sampler() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset
2017-07-18 18:51:30 +02:00
parent 18bd5d2c8c
commit 6fd8255c2a
+17 -11
View File
@@ -295,27 +295,20 @@ _mesa_bind_sampler(struct gl_context *ctx, GLuint unit,
sampObj);
}
void GLAPIENTRY
_mesa_BindSampler(GLuint unit, GLuint sampler)
static ALWAYS_INLINE void
bind_sampler(struct gl_context *ctx, GLuint unit, GLuint sampler, bool no_error)
{
struct gl_sampler_object *sampObj;
GET_CURRENT_CONTEXT(ctx);
if (unit >= ctx->Const.MaxCombinedTextureImageUnits) {
_mesa_error(ctx, GL_INVALID_VALUE, "glBindSampler(unit %u)", unit);
return;
}
if (sampler == 0) {
/* Use the default sampler object, the one contained in the texture
* object.
*/
sampObj = NULL;
}
else {
} else {
/* user-defined sampler object */
sampObj = _mesa_lookup_samplerobj(ctx, sampler);
if (!sampObj) {
if (!no_error && !sampObj) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glBindSampler(sampler)");
return;
}
@@ -325,6 +318,19 @@ _mesa_BindSampler(GLuint unit, GLuint sampler)
_mesa_bind_sampler(ctx, unit, sampObj);
}
void GLAPIENTRY
_mesa_BindSampler(GLuint unit, GLuint sampler)
{
GET_CURRENT_CONTEXT(ctx);
if (unit >= ctx->Const.MaxCombinedTextureImageUnits) {
_mesa_error(ctx, GL_INVALID_VALUE, "glBindSampler(unit %u)", unit);
return;
}
bind_sampler(ctx, unit, sampler, false);
}
static ALWAYS_INLINE void
bind_samplers(struct gl_context *ctx, GLuint first, GLsizei count,