gallium/radeon: return correct values for BE in r600_translate_colorswap

Because I changed the swizzle check, I also need to adapt the return
values for each check.

It's basically almost the same as before, we just cross between STD and
STD_REV, and cross between ALT and ALT_REV

This fixes the rgba test in gl-1.0-readpixsanity (piglit) and also
fixes tri-flat (mesa demos).

Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Oded Gabbay 2016-02-24 14:43:28 +02:00
parent ff8b41b702
commit 439b5b008f

View file

@ -1304,13 +1304,13 @@ unsigned r600_translate_colorswap(enum pipe_format format)
return V_0280A0_SWAP_ALT_REV; /* WXYZ */
#else
if (HAS_SWIZZLE(1,W) && HAS_SWIZZLE(2,X))
return V_0280A0_SWAP_STD; /* ZWXY */
return V_0280A0_SWAP_STD_REV; /* ZWXY */
else if (HAS_SWIZZLE(1,X) && HAS_SWIZZLE(2,W))
return V_0280A0_SWAP_STD_REV; /* YXWZ */
return V_0280A0_SWAP_STD; /* YXWZ */
else if (HAS_SWIZZLE(1,W) && HAS_SWIZZLE(2,Z))
return V_0280A0_SWAP_ALT; /* XWZY */
return V_0280A0_SWAP_ALT_REV; /* XWZY */
else if (HAS_SWIZZLE(1,Z) && HAS_SWIZZLE(2,W))
return V_0280A0_SWAP_ALT_REV; /* YZWX */
return V_0280A0_SWAP_ALT; /* YZWX */
#endif
break;
}