[Mesa-dev] [Mesa-stable] [PATCH] meta: Always bind the texture

Anuj Phogat anuj.phogat at gmail.com
Thu Sep 10 11:05:55 PDT 2015


On Wed, Sep 9, 2015 at 1:04 PM, Ian Romanick <idr at freedesktop.org> wrote:

> From: Ian Romanick <ian.d.romanick at intel.com>
>
> We may have been called from glGenerateTextureMipmap with CurrentUnit
> still set to 0, so we don't know when we can skip binding the texture.
> Assume that _mesa_BindTexture will be fast if we're rebinding the same
> texture.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91847
> Cc: "11.0" <mesa-stable at lists.freedesktop.org>
> ---
> This patch seems to resolve the problems seen in the apitrace attached
> to the bug.  I'm working on a piglit test.
>
>  src/mesa/drivers/common/meta_generate_mipmap.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/common/meta_generate_mipmap.c
> b/src/mesa/drivers/common/meta_generate_mipmap.c
> index 0655f05..6731478 100644
> --- a/src/mesa/drivers/common/meta_generate_mipmap.c
> +++ b/src/mesa/drivers/common/meta_generate_mipmap.c
> @@ -202,8 +202,12 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx,
> GLenum target,
>     samplerSave = ctx->Texture.Unit[ctx->Texture.CurrentUnit].Sampler ?
>        ctx->Texture.Unit[ctx->Texture.CurrentUnit].Sampler->Name : 0;
>
> -   if (currentTexUnitSave != 0)
> -      _mesa_BindTexture(target, texObj->Name);
> +   /* We may have been called from glGenerateTextureMipmap with
> CurrentUnit
> +    * still set to 0, so we don't know when we can skip binding the
> texture.
> +    * Assume that _mesa_BindTexture will be fast if we're rebinding the
> same
> +    * texture.
> +    */
> +   _mesa_BindTexture(target, texObj->Name);
>
>     if (!mipmap->Sampler) {
>        _mesa_GenSamplers(1, &mipmap->Sampler);
> --
> 2.1.0
>
> _______________________________________________
> mesa-stable mailing list
> mesa-stable at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-stable
>

You can now remove the temporary variable currentTexUnitSave.
With that change this patch is:
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150910/c0ffbc86/attachment.html>


More information about the mesa-dev mailing list