diff options
author | Jason Ekstrand <[email protected]> | 2015-08-10 01:32:23 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-08-12 08:28:31 -0700 |
commit | e3eb91af804f449005a2ff535c805eaa1d579d99 (patch) | |
tree | 2dfd8e8ab6c615e08d701ce9362c06899d535793 /src/mesa | |
parent | 28d1a506c8d09fa66170978c85566c34cbf1cc0a (diff) |
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" <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/formats.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |