/* There are actually quite a few combinations this will work for,
* more than what I've listed here.
*/
-static GLboolean
-check_pbo_format(GLint internalFormat,
- GLenum format, GLenum type,
+static bool
+check_pbo_format(GLenum format, GLenum type,
gl_format mesa_format)
{
- switch (internalFormat) {
- case 4:
- case GL_RGBA:
- case GL_RGBA8:
- return (format == GL_BGRA &&
- (type == GL_UNSIGNED_BYTE ||
- type == GL_UNSIGNED_INT_8_8_8_8_REV) &&
- mesa_format == MESA_FORMAT_ARGB8888);
- case 3:
- case GL_RGB:
- return (format == GL_RGB &&
- type == GL_UNSIGNED_SHORT_5_6_5 &&
- mesa_format == MESA_FORMAT_RGB565);
- case 1:
- case GL_LUMINANCE:
- return (format == GL_LUMINANCE &&
- type == GL_UNSIGNED_BYTE &&
- mesa_format == MESA_FORMAT_L8);
- case GL_YCBCR_MESA:
+ switch (mesa_format) {
+ case MESA_FORMAT_ARGB8888:
+ return (format == GL_BGRA && (type == GL_UNSIGNED_BYTE ||
+ type == GL_UNSIGNED_INT_8_8_8_8_REV));
+ case MESA_FORMAT_RGB565:
+ return (format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5);
+ case MESA_FORMAT_L8:
+ return (format == GL_LUMINANCE && type == GL_UNSIGNED_BYTE);
+ case MESA_FORMAT_YCBCR:
return (type == GL_UNSIGNED_SHORT_8_8_MESA || type == GL_UNSIGNED_BYTE);
default:
- return GL_FALSE;
+ return false;
}
}
return false;
}
- if (!check_pbo_format(intelImage->base.Base.InternalFormat, format,
- type, intelImage->base.Base.TexFormat)) {
+ if (!check_pbo_format(format, type, intelImage->base.Base.TexFormat)) {
DBG("%s: format mismatch (upload to %s with format 0x%x, type 0x%x)\n",
__FUNCTION__, _mesa_get_format_name(intelImage->base.Base.TexFormat),
format, type);