Commit 89e07ccf authored by Jordan Justen's avatar Jordan Justen
Browse files

glformats: add _mesa_base_format_component_count


Signed-off-by: default avatarJordan Justen <jordan.l.justen@intel.com>
Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
parent 6d63b6e5
......@@ -1057,6 +1057,32 @@ _mesa_base_format_has_channel(GLenum base_format, GLenum pname)
}
/**
* Returns the number of channels/components for a base format.
*/
GLint
_mesa_base_format_component_count(GLenum base_format)
{
switch (base_format) {
case GL_RED:
case GL_ALPHA:
case GL_INTENSITY:
case GL_DEPTH_COMPONENT:
return 1;
case GL_RG:
case GL_LUMINANCE_ALPHA:
case GL_DEPTH_STENCIL:
return 2;
case GL_RGB:
return 3;
case GL_RGBA:
return 4;
default:
return -1;
}
}
/**
* If format is a generic compressed format, return the corresponding
* non-compressed format. For other formats, return the format as-is.
......
......@@ -100,6 +100,9 @@ _mesa_base_format_to_integer_format(GLenum format);
extern GLboolean
_mesa_base_format_has_channel(GLenum base_format, GLenum pname);
extern GLint
_mesa_base_format_component_count(GLenum base_format);
extern GLenum
_mesa_generic_compressed_format_to_uncompressed_format(GLenum format);
......
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