[Mesa-dev] [PATCH 4/5] i965/fs: Invalidate live intervals in passes that remove an instruction.

Eric Anholt eric at anholt.net
Wed Jul 4 14:31:28 PDT 2012


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.
---
 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 7c1096b..175e36e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -1844,6 +1844,9 @@ fs_visitor::compute_to_mrf()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 
@@ -1920,6 +1923,9 @@ fs_visitor::remove_duplicate_mrf_writes()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 
-- 
1.7.10



More information about the mesa-dev mailing list