summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2015-03-18 15:45:16 +0200
committerFrancisco Jerez <currojerez@riseup.net>2015-03-23 14:09:33 +0200
commit18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8 (patch)
treee920712ce40be3676e74a617ce561bcb999fc5c1 /src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp
parenta3733defbe4f87acd1b6dca716b861f2dfaea05a (diff)
downloadexternal_mesa3d-18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8.zip
external_mesa3d-18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8.tar.gz
external_mesa3d-18dc59c21295a2a4acf4b69cb7e7ea502c8dd8c8.tar.bz2
i965/vec4: Don't lose copy propagation saturate bits for not written components.
Reviewed-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp2
1 files changed, 1 insertions, 1 deletions
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 036706c..a1050bb 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;