summaryrefslogtreecommitdiff
path: root/src/mesa/main/formats.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-10-26 20:23:57 -0600
committerBrian Paul <brianp@vmware.com>2010-10-26 20:25:23 -0600
commitab50148fdafeb6496b4ab684e5b9a2355ccf542c (patch)
treeade78acd38a4c5673ff713709ec1ff034f56b255 /src/mesa/main/formats.c
parent9b3c4d3e67db9d43fc6b12d2b4943b087c80c926 (diff)
mesa: fix bug in _mesa_is_format_integer()
We only want to return true if it's an integer _color_ format, not a depth and/or stencil format. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31143
Diffstat (limited to 'src/mesa/main/formats.c')
-rw-r--r--src/mesa/main/formats.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index 3e78693477..f604e23513 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -1008,13 +1008,16 @@ _mesa_is_format_packed_depth_stencil(gl_format format)
/**
- * Is the given format a signed/unsigned integer format?
+ * Is the given format a signed/unsigned integer color format?
*/
GLboolean
_mesa_is_format_integer(gl_format format)
{
const struct gl_format_info *info = _mesa_get_format_info(format);
- return info->DataType == GL_INT || info->DataType == GL_UNSIGNED_INT;
+ return (info->DataType == GL_INT || info->DataType == GL_UNSIGNED_INT) &&
+ info->BaseFormat != GL_DEPTH_COMPONENT &&
+ info->BaseFormat != GL_DEPTH_STENCIL &&
+ info->BaseFormat != GL_STENCIL_INDEX;
}