From: Brian Paul Date: Fri, 27 Jan 2012 03:01:11 +0000 (-0700) Subject: mesa: rewrite, simplify some of the logic in _mesa_format_matches_format_and_type() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=952ca0785236729b69e154b3b48783fc4d9a5526;p=mesa.git mesa: rewrite, simplify some of the logic in _mesa_format_matches_format_and_type() In preparation for adding GL_PACK/UNPACK_SWAP_BYTES support. Reviewed-by: Ian Romanick --- diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index d11b167f900..834d4c81ffb 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -2543,21 +2543,40 @@ _mesa_format_matches_format_and_type(gl_format gl_format, return GL_FALSE; case MESA_FORMAT_RGBA8888: - return ((format == GL_RGBA && (type == GL_UNSIGNED_INT_8_8_8_8 || - (type == GL_UNSIGNED_BYTE && !littleEndian))) || - (format == GL_ABGR_EXT && (type == GL_UNSIGNED_INT_8_8_8_8_REV || - (type == GL_UNSIGNED_BYTE && littleEndian)))); + if (format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8) + return GL_TRUE; + + if (format == GL_RGBA && type == GL_UNSIGNED_BYTE && !littleEndian) + return GL_TRUE; + + if (format == GL_ABGR_EXT && type == GL_UNSIGNED_INT_8_8_8_8_REV) + return GL_TRUE; + + if (format == GL_ABGR_EXT && type == GL_UNSIGNED_BYTE && littleEndian) + return GL_TRUE; + + return GL_FALSE; case MESA_FORMAT_RGBA8888_REV: - return ((format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8_REV)); + return format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8_REV; case MESA_FORMAT_ARGB8888: - return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8_REV || - (type == GL_UNSIGNED_BYTE && littleEndian)))); + if (format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8_REV) + return GL_TRUE; + + if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && littleEndian) + return GL_TRUE; + + return GL_FALSE; case MESA_FORMAT_ARGB8888_REV: - return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8 || - (type == GL_UNSIGNED_BYTE && !littleEndian)))); + if (format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8) + return GL_TRUE; + + if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && !littleEndian) + return GL_TRUE; + + return GL_FALSE; case MESA_FORMAT_RGBX8888: case MESA_FORMAT_RGBX8888_REV: