mesa: add generic compressed -> uncompressed format helper

_mesa_generic_compressed_format_to_uncompressed_format() probably wins the
prize for longest function name in Mesa.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
Brian Paul
2012-08-24 08:43:42 -06:00
parent 13d0bb21a9
commit a3af27e993
2 changed files with 42 additions and 0 deletions
+39
View File
@@ -970,6 +970,45 @@ _mesa_base_format_has_channel(GLenum base_format, GLenum pname)
}
/**
* If format is a generic compressed format, return the corresponding
* non-compressed format. For other formats, return the format as-is.
*/
GLenum
_mesa_generic_compressed_format_to_uncompressed_format(GLenum format)
{
switch (format) {
case GL_COMPRESSED_RED:
return GL_RED;
case GL_COMPRESSED_RG:
return GL_RG;
case GL_COMPRESSED_RGB:
return GL_RGB;
case GL_COMPRESSED_RGBA:
return GL_RGBA;
case GL_COMPRESSED_ALPHA:
return GL_ALPHA;
case GL_COMPRESSED_LUMINANCE:
return GL_LUMINANCE;
case GL_COMPRESSED_LUMINANCE_ALPHA:
return GL_LUMINANCE_ALPHA;
case GL_COMPRESSED_INTENSITY:
return GL_INTENSITY;
/* sRGB formats */
case GL_COMPRESSED_SRGB:
return GL_SRGB;
case GL_COMPRESSED_SRGB_ALPHA:
return GL_SRGB_ALPHA;
case GL_COMPRESSED_SLUMINANCE:
return GL_SLUMINANCE;
case GL_COMPRESSED_SLUMINANCE_ALPHA:
return GL_SLUMINANCE_ALPHA;
default:
return format;
}
}
/**
* Do error checking of format/type combinations for glReadPixels,
* glDrawPixels and glTex[Sub]Image. Note that depending on the format
+3
View File
@@ -91,6 +91,9 @@ _mesa_base_format_to_integer_format(GLenum format);
extern GLboolean
_mesa_base_format_has_channel(GLenum base_format, GLenum pname);
extern GLenum
_mesa_generic_compressed_format_to_uncompressed_format(GLenum format);
extern GLenum
_mesa_error_check_format_and_type(const struct gl_context *ctx,
GLenum format, GLenum type);