[Mesa-dev] [PATCH v4 12/22] mesa: Add a _mesa_is_format_color_format helper

Iago Toral Quiroga itoral at igalia.com
Wed Jan 7 23:20:51 PST 2015


From: Jason Ekstrand <jason.ekstrand at intel.com>

---
 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 6530548..65796c8 100644
--- a/src/mesa/main/formats.h
+++ b/src/mesa/main/formats.h
@@ -624,6 +624,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);
 
-- 
1.9.1



More information about the mesa-dev mailing list