From f89793946af22b720f746a5fb8b33d7b2f3e199b Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 26 Aug 2014 14:26:44 -0700 Subject: [PATCH] mesa: Add a _mesa_is_format_color_format helper Reviewed-by: Jason Ekstrand Reviewed-by: Anuj Phogat --- src/mesa/main/formats.c | 19 +++++++++++++++++++ src/mesa/main/formats.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index b10b628..6eb80fb 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -472,6 +472,25 @@ _mesa_is_format_integer(mesa_format format) return (info->DataType == GL_INT || info->DataType == GL_UNSIGNED_INT); } + +/** + * Return true if the given format is a color format. + */ +GLenum +_mesa_is_format_color_format(mesa_format format) +{ + const struct gl_format_info *info = _mesa_get_format_info(format); + switch (info->BaseFormat) { + case GL_DEPTH_COMPONENT: + case GL_STENCIL_INDEX: + case GL_DEPTH_STENCIL: + return false; + default: + return true; + } +} + + /** * Return color encoding for given format. * \return GL_LINEAR or GL_SRGB diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index dd07c35..4f83208 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -625,6 +625,9 @@ _mesa_is_format_integer(mesa_format format); extern bool _mesa_is_format_etc2(mesa_format format); +GLenum +_mesa_is_format_color_format(mesa_format format); + extern GLenum _mesa_get_format_color_encoding(mesa_format format); -- 2.7.4