From e3eb91af804f449005a2ff535c805eaa1d579d99 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 10 Aug 2015 01:32:23 -0700 Subject: [PATCH] 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" --- src/mesa/main/formats.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; -- 2.30.2