Commit a3af27e9 authored by Brian Paul's avatar Brian Paul

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: default avatarAnuj Phogat <anuj.phogat@gmail.com>
parent 13d0bb21
......@@ -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
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment