[Mesa-dev] [PATCH] Revert "mesa: do not trigger _NEW_TEXTURE_STATE in glActiveTexture()"

Timothy Arceri tarceri at itsqueeze.com
Wed Mar 14 10:26:11 UTC 2018



On 14/03/18 19:46, Samuel Pitoiset wrote:
> This reverts commit f314a532fdc7af8381586144d2631d9968331f05.
> 
> This appears to introduce some blinking textures in UT2004. Not
> sure exactly what's the root cause because we don't have much
> information about the issue.
> 
> Anyway, this was just a micro optimization that actually breaks,
> at least, one app almost one year later.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105436
> Cc: <mesa-stable at lists.freedesktop.org>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>   src/mesa/main/texstate.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
> index f9f50a3005..f9b00b4a8f 100644
> --- a/src/mesa/main/texstate.c
> +++ b/src/mesa/main/texstate.c
> @@ -310,6 +310,8 @@ active_texture(GLenum texture, bool no_error)
>         }
>      }
>   

Can we add a comment here so this doesn't happen again and anyone 
looking to remove it has a head start on the problem? Maybe something like:

  /* The below flush call seems useless because 
gl_context::Texture::CurrentUnit is not used by
   * _mesa_update_texture_state() and friends. However removing
   * the flush introduced some blinking textures in UT2004.
   * More investigation is needed to find the root cause.
   *
   * https://bugs.freedesktop.org/show_bug.cgi?id=105436
   */

With that:

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

> +   FLUSH_VERTICES(ctx, _NEW_TEXTURE_STATE);
> +
>      ctx->Texture.CurrentUnit = texUnit;
>      if (ctx->Transform.MatrixMode == GL_TEXTURE) {
>         /* update current stack pointer */
> 


More information about the mesa-dev mailing list