From: Francisco Jerez Date: Wed, 18 Mar 2015 13:45:16 +0000 (+0200) Subject: i965/vec4: Don't lose copy propagation saturate bits for not written components. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8;p=mesa.git i965/vec4: Don't lose copy propagation saturate bits for not written components. Reviewed-by: Abdiel Janulgue --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp index 036706c6ef5..a1050bb1333 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp @@ -437,7 +437,7 @@ vec4_visitor::opt_copy_propagation(bool do_constant_prop) * the new value, so clear it. */ bool direct_copy = is_direct_copy(inst); - entries[reg].saturatemask = 0x0; + entries[reg].saturatemask &= ~inst->dst.writemask; for (int i = 0; i < 4; i++) { if (inst->dst.writemask & (1 << i)) { entries[reg].value[i] = direct_copy ? &inst->src[0] : NULL;