From: Jason Ekstrand Date: Mon, 10 Aug 2015 08:32:23 +0000 (-0700) Subject: mesa/formats: Don't flip channels of null array formats X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e3eb91af804f449005a2ff535c805eaa1d579d99;p=mesa.git mesa/formats: Don't flip channels of null array formats Before, if we encountered an array format of 0 on a BE system, we would flip all the channels even though it's an invalid format. This would result in a mostly invalid format with a swizzle of yyyy or wwww. Instead, we should just return 0 if the array format stashed in the format info is invalid. Cc: "10.6 10.5" --- diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 27590ed4252..d7b2bae59e7 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -380,7 +380,8 @@ uint32_t _mesa_format_to_array_format(mesa_format format) { const struct gl_format_info *info = _mesa_get_format_info(format); - if (!_mesa_little_endian() && info->Layout == MESA_FORMAT_LAYOUT_PACKED) + if (info->ArrayFormat && !_mesa_little_endian() && + info->Layout == MESA_FORMAT_LAYOUT_PACKED) return _mesa_array_format_flip_channels(info->ArrayFormat); else return info->ArrayFormat;