Mesa (master): i965: Invalidate live intervals when inserting Gen4 SEND workarounds.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Jun 10 23:39:05 UTC 2014


Module: Mesa
Branch: master
Commit: 237aac39b1994b0fa1e8cd3490ad415b144a8b5f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=237aac39b1994b0fa1e8cd3490ad415b144a8b5f

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Jun  9 02:59:22 2014 -0700

i965: Invalidate live intervals when inserting Gen4 SEND workarounds.

We need to invalidate the live intervals when inserting new
instructions.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Cc: mesa-stable at lists.freedesktop.org

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index b485e65..be461ac 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2482,6 +2482,8 @@ fs_visitor::insert_gen4_send_dependency_workarounds()
    if (brw->gen != 4 || brw->is_g4x)
       return;
 
+   bool progress = false;
+
    /* Note that we're done with register allocation, so GRF fs_regs always
     * have a .reg_offset of 0.
     */
@@ -2492,8 +2494,12 @@ fs_visitor::insert_gen4_send_dependency_workarounds()
       if (inst->mlen != 0 && inst->dst.file == GRF) {
          insert_gen4_pre_send_dependency_workarounds(inst);
          insert_gen4_post_send_dependency_workarounds(inst);
+         progress = true;
       }
    }
+
+   if (progress)
+      invalidate_live_intervals();
 }
 
 /**




More information about the mesa-commit mailing list