From 2343fe9a5d1786413453e6e8e5c7700143d68a26 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 5 Jun 2012 13:13:33 -0700 Subject: [PATCH] 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 NOTE: This is a candidate for the 8.0 release branch. --- 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 7c1096b775e..175e36e4257 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; }