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
This commit is contained in:
Brian Paul
2010-10-26 20:23:57 -06:00
parent 9b3c4d3e67
commit ab50148fda

View 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;
}