[Mesa-dev] [PATCH 6/6] i965/fs: don't copy propagate if the instruction writes to more than two adjacent GRFs

Samuel Iglesias Gonsálvez siglesias at igalia.com
Wed Jul 6 10:10:02 UTC 2016


This is not allowed by the HW and copy propagation can hide this issue to
lower_simd_width pass, which is going to fix it.

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

diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
index 438f681..c7f7628 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -752,6 +752,7 @@ can_propagate_from(fs_inst *inst)
             inst->src[0].file == UNIFORM ||
             inst->src[0].file == IMM) &&
            inst->src[0].type == inst->dst.type &&
+           inst->regs_written <= 2 &&
            !inst->is_partial_write());
 }
 
-- 
2.7.4



More information about the mesa-dev mailing list