equals() returns false for registers with different types, using it
isn't appropriate to determine whether an is overwriting a register.
---
src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
index 72e8738..218cc61 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
@@ -128,8 +128,8 @@ can_coalesce_vars(brw::fs_live_variables *live_intervals,
if (scan_ip > live_intervals->end[var_to])
return true;
- if (scan_inst->dst.equals(inst->dst) ||
- scan_inst->dst.equals(inst->src[0]))
+ if (scan_inst->overwrites_reg(inst->dst) ||
+ scan_inst->overwrites_reg(inst->src[0]))
return false;
}
--
2.4.6
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev