mesa: fix bug in _mesa_is_format_integer()
authorBrian Paul <brianp@vmware.com>
Wed, 27 Oct 2010 02:23:57 +0000 (20:23 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 27 Oct 2010 02:25:23 +0000 (20:25 -0600)
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

src/mesa/main/formats.c

index 3e7869347712269f4644514a58895a488aa26b52..f604e2351384db6c939b2c8debbcf0813e5d822a 100644 (file)
@@ -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;
 }