From df2c4cbcedb2dcf2aa44adaa6462d9becccbea49 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Tue, 21 Aug 2012 11:03:48 -0700 Subject: [PATCH] mesa: Fix generic compressed texture formats' handling in glTexImage/glCopyTexImage The generic texture formats should be accepted by the parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D functions. When the application specifies a generic format, the driver is free to pick an uncompressed format. This patch reverts the changes due to following commit: commit a36581ccc06693231011c3fe136207e73191b1ce mesa: do more teximage error checking for generic compressed formats This patch fixes compressed texture format failures in intel oglconform pxconv-gettex test case: https://bugs.freedesktop.org/show_bug.cgi?id=47220 Signed-off-by: Anuj Phogat Reviewed-by: Brian Paul --- src/mesa/main/teximage.c | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index fd02a1be23f..27294ba8018 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -540,32 +540,6 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) } -/** - * Is the given texture format a generic compressed format? - */ -static GLboolean -is_generic_compressed_format(GLenum format) -{ - switch (format) { - case GL_COMPRESSED_RED: - case GL_COMPRESSED_RG: - case GL_COMPRESSED_RGB: - case GL_COMPRESSED_RGBA: - case GL_COMPRESSED_ALPHA: - case GL_COMPRESSED_LUMINANCE: - case GL_COMPRESSED_LUMINANCE_ALPHA: - case GL_COMPRESSED_INTENSITY: - case GL_COMPRESSED_SRGB: - case GL_COMPRESSED_SRGB_ALPHA: - case GL_COMPRESSED_SLUMINANCE: - case GL_COMPRESSED_SLUMINANCE_ALPHA: - return GL_TRUE; - default: - return GL_FALSE; - } -} - - /** * For cube map faces, return a face index in [0,5]. * For other targets return 0; @@ -1745,8 +1719,7 @@ texture_error_check( struct gl_context *ctx, } /* additional checks for compressed textures */ - if (_mesa_is_compressed_format(ctx, internalFormat) || - is_generic_compressed_format(internalFormat)) { + if (_mesa_is_compressed_format(ctx, internalFormat)) { if (!target_can_be_compressed(ctx, target, internalFormat)) { if (!isProxy) _mesa_error(ctx, GL_INVALID_ENUM, @@ -2077,8 +2050,7 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, return GL_TRUE; } - if (_mesa_is_compressed_format(ctx, internalFormat) || - is_generic_compressed_format(internalFormat)) { + if (_mesa_is_compressed_format(ctx, internalFormat)) { if (!target_can_be_compressed(ctx, target, internalFormat)) { _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexImage%dD(target)", dimensions); -- 2.30.2