i965/vec4: Fix broken saturate mask check in copy propagation.
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 19 Mar 2015 16:25:30 +0000 (18:25 +0200)
committerFrancisco Jerez <currojerez@riseup.net>
Mon, 23 Mar 2015 12:09:33 +0000 (14:09 +0200)
commit24073b2cd7c15d989a40c1b7bc30e8be200ff328
treef7b99ae13699d1d11dcf77d75e670f873d60aabd
parent18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8
i965/vec4: Fix broken saturate mask check in copy propagation.

try_copy_propagate() was checking the bit of the saturate mask for the
arg-th component of the source to decide whether the whole source
should be saturated (WTF?).  We need to swizzle the original saturate
mask and check that for all enabled channels the saturate flag is
either set or unset, as we cannot saturate a subset of destination
components only.

Reviewed-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp