From: Ian Romanick Date: Tue, 10 Nov 2015 23:16:33 +0000 (-0800) Subject: meta: Only bind the sampler in one place X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1799eddb510bef502901c097ddce9e40d58ff09d;p=mesa.git meta: Only bind the sampler in one place All of the calls after the first _mesa_bind_sampler call are DSA style calls that don't depend on the current binding. I kept this change separate and last because it is one of the few in the series that is not a candidate for the stable branch. Signed-off-by: Ian Romanick Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 8f93b25c56d..b026e476b65 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -3129,7 +3129,6 @@ decompress_texture_image(struct gl_context *ctx, return true; } - _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, decompress->samp_obj); /* nearest filtering */ _mesa_set_sampler_filters(ctx, decompress->samp_obj, GL_NEAREST, GL_NEAREST); @@ -3137,11 +3136,10 @@ decompress_texture_image(struct gl_context *ctx, if (ctx->Extensions.EXT_texture_sRGB_decode) { _mesa_set_sampler_srgb_decode(ctx, decompress->samp_obj, GL_SKIP_DECODE_EXT); } - - } else { - _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, decompress->samp_obj); } + _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, decompress->samp_obj); + /* Silence valgrind warnings about reading uninitialized stack. */ memset(verts, 0, sizeof(verts)); diff --git a/src/mesa/drivers/common/meta_generate_mipmap.c b/src/mesa/drivers/common/meta_generate_mipmap.c index aa812580f0b..7beae5f2cee 100644 --- a/src/mesa/drivers/common/meta_generate_mipmap.c +++ b/src/mesa/drivers/common/meta_generate_mipmap.c @@ -234,8 +234,6 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, return; } - _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, mipmap->samp_obj); - _mesa_set_sampler_filters(ctx, mipmap->samp_obj, GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR); _mesa_set_sampler_wrap(ctx, mipmap->samp_obj, GL_CLAMP_TO_EDGE, @@ -248,10 +246,10 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, if (ctx->Extensions.EXT_texture_sRGB_decode) { _mesa_set_sampler_srgb_decode(ctx, mipmap->samp_obj, GL_SKIP_DECODE_EXT); } - } else { - _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, mipmap->samp_obj); } + _mesa_bind_sampler(ctx, ctx->Texture.CurrentUnit, mipmap->samp_obj); + assert(mipmap->FBO != 0); _mesa_BindFramebuffer(GL_FRAMEBUFFER_EXT, mipmap->FBO);