summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2014-08-26 14:26:44 -0700
committerIago Toral Quiroga <[email protected]>2015-01-12 11:20:28 +0100
commitf89793946af22b720f746a5fb8b33d7b2f3e199b (patch)
tree2d1ea566846572f2c0db404a53c350b4132f8115
parent3c19251f28e6b4feff81f48b1c73f1f2e09e38e1 (diff)
mesa: Add a _mesa_is_format_color_format helper
Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
-rw-r--r--src/mesa/main/formats.c19
-rw-r--r--src/mesa/main/formats.h3
2 files changed, 22 insertions, 0 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index b10b628235c..6eb80fb575d 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 dd07c35f5d9..4f83208bd4c 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);