mesa: Add a _mesa_is_format_color_format helper
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 26 Aug 2014 21:26:44 +0000 (14:26 -0700)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 12 Jan 2015 10:20:28 +0000 (11:20 +0100)
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/main/formats.c
src/mesa/main/formats.h

index b10b628235c068bba8815bcda994be92cee887ae..6eb80fb575d9d353ac15822b9479df14fd760da9 100644 (file)
@@ -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
index dd07c35f5d9417bb87e53ab41532c10d8ff1b10e..4f83208bd4c5c21e07fb8796dde444a5758d0881 100644 (file)
@@ -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);