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

Reply via email to