mesa/formats: Fix swizzle flipping for big-endian targets
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 10 Aug 2015 06:45:44 +0000 (23:45 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 12 Aug 2015 15:28:31 +0000 (08:28 -0700)
commit28d1a506c8d09fa66170978c85566c34cbf1cc0a
treef9c8d3b22b4dfa0ea347e8083f1cdcc0ec514b14
parent3941539179b72fe25b6dffd1aacc0722d198a5ca
mesa/formats: Fix swizzle flipping for big-endian targets

The swizzle defines where in the format you should look for any given
channel.  When we flip the format around for BE targets, we need to change
the destinations of the swizzles, not the sources.  For example, say the
format is an RGBX format with a swizzle of xyz1 on LE.  Then it should be
wzy1 on BE;  however, the code as it was before, would have made it 1zyx on
BE which is clearly wrong.

Reviewed-by: Iago Toral <itoral@igalia.com>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Cc: "10.6 10.5" <mesa-stable@lists.freedesktop.org>
src/mesa/main/formats.c