Mesa (8.0): i965/fs: Invalidate live intervals in passes that remove an instruction.

Ian Romanick idr at kemper.freedesktop.org
Tue Jul 31 19:29:22 UTC 2012


Module: Mesa
Branch: 8.0
Commit: 891b66b3288fd8e4a441abc05f2a9bc29e0712cd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=891b66b3288fd8e4a441abc05f2a9bc29e0712cd

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jun  5 13:13:33 2012 -0700

i965/fs: Invalidate live intervals in passes that remove an instruction.

Since live intervals are based on ip, removing an instruction trashes
the intervals unless we were to go do some surgery.  These happen to
usually remove a use of a grf, so it's time to recalculate, anyway.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
NOTE: This is a candidate for the 8.0 release branch.
(cherry picked from commit 2343fe9a5d1786413453e6e8e5c7700143d68a26)

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index d7ac876..f213ca2 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -1596,6 +1596,9 @@ fs_visitor::compute_to_mrf()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 
@@ -1672,6 +1675,9 @@ fs_visitor::remove_duplicate_mrf_writes()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 




More information about the mesa-commit mailing list