[Mesa-dev] [PATCH] i965/fs: Use source's original type in register_coalesce().
Matt Turner
mattst88 at gmail.com
Sat Nov 16 15:23:01 PST 2013
Previously, register_coalesce() would modify
mov vgrf1:f vgrf2:f
cmp null vgrf3:d vgrf1:d
to be
cmp null vgrf3:d vgrf2:f
and incorrectly use vgrf2's type in the instruction that the mov was
coalesced into.
---
My in progress value-numbering pass exposes this bug, but without it I
didn't find anything fixed by the patch in piglit.
src/mesa/drivers/dri/i965/brw_fs.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 795e01e..800a7b4 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2442,6 +2442,7 @@ fs_visitor::register_coalesce()
scan_inst->src[i].reg == inst->dst.reg &&
scan_inst->src[i].reg_offset == inst->dst.reg_offset) {
fs_reg new_src = inst->src[0];
+ new_src.type = scan_inst->src[i].type;
if (scan_inst->src[i].abs) {
new_src.negate = 0;
new_src.abs = 1;
--
1.8.3.2
More information about the mesa-dev
mailing list