aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsálvez <[email protected]>2016-06-22 15:13:45 +0200
committerSamuel Iglesias Gonsálvez <[email protected]>2017-01-03 11:26:51 +0100
commitb9cd3f5b493e6fe835f1a3a2216f29bc0a4a2a93 (patch)
tree9da29e413c097bad2477676782caa19d63db303c /src
parent93eae0d2a4157963638130b7ea2ad656f366e372 (diff)
i965/vec4: don't copy propagate misaligned registers
This means we would copy propagate partial reads or writes and that can affect the result. Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp3
1 files changed, 3 insertions, 0 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 9b76f58fc67..e7f6f93f8bd 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp
@@ -354,6 +354,9 @@ try_copy_propagate(const struct gen_device_info *devinfo,
return false;
}
+ if (inst->src[arg].offset % REG_SIZE || value.offset % REG_SIZE)
+ return false;
+
bool has_source_modifiers = value.negate || value.abs;
/* gen6 math and gen7+ SENDs from GRFs ignore source modifiers on