[Mesa-dev] [PATCH v2 072/103] i965/vec4: don't copy propagate misaligned registers

Iago Toral Quiroga itoral at igalia.com
Tue Oct 11 09:02:16 UTC 2016


From: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

This means we would copy propagate partial reads or writes and that can affect
the result.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
---
 src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 3 +++
 1 file changed, 3 insertions(+)

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 4f7b844..db2b317 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
-- 
2.7.4



More information about the mesa-dev mailing list