[Mesa-dev] [PATCH] mesa: fix error checking of DXT sRGB formats in _mesa_base_tex_format()

Jose Fonseca jfonseca at vmware.com
Thu May 30 08:56:10 PDT 2013



----- Original Message -----
> For formats such as GL_COMPRESSED_SRGB_S3TC_DXT1_EXT we need to
> have both the GL_EXT_texture_sRGB and GL_EXT_texture_compression_s3tc
> extensions.  This patch adds the missing check for the later.
> 
> Found when checking out https://bugs.freedesktop.org/show_bug.cgi?id=65173
> 
> NOTE: This is a candidate for the stable branches.
> ---
>  src/mesa/main/teximage.c |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
> index d0e31ac..9aaa63f 100644
> --- a/src/mesa/main/teximage.c
> +++ b/src/mesa/main/teximage.c
> @@ -315,15 +315,17 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint
> internalFormat )
>        case GL_SRGB_EXT:
>        case GL_SRGB8_EXT:
>        case GL_COMPRESSED_SRGB_EXT:
> -      case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
>           return GL_RGB;
> +      case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
> +         return ctx->Extensions.EXT_texture_compression_s3tc ? GL_RGB : -1;
>        case GL_SRGB_ALPHA_EXT:
>        case GL_SRGB8_ALPHA8_EXT:
>        case GL_COMPRESSED_SRGB_ALPHA_EXT:
> +         return GL_RGBA;
>        case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
>        case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
>        case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
> -         return GL_RGBA;
> +         return ctx->Extensions.EXT_texture_compression_s3tc ? GL_RGBA : -1;
>        case GL_SLUMINANCE_ALPHA_EXT:
>        case GL_SLUMINANCE8_ALPHA8_EXT:
>        case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
> --
> 1.7.10.4
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


Reviewed-by: Jose Fonseca <jfonseca at vmware.com>


More information about the mesa-dev mailing list