From: Brian Paul Date: Thu, 30 May 2013 15:18:27 +0000 (-0600) Subject: mesa: fix error checking of DXT sRGB formats in _mesa_base_tex_format() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51498a3e71ebffb7eac4b0376045bf28c5c76e17;p=mesa.git mesa: fix error checking of DXT sRGB formats in _mesa_base_tex_format() 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. Reviewed-by: Jose Fonseca Reviewed-by: Eric Anholt --- diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index d0e31ac0a28..9aaa63f136f 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: