i965/fs: Invalidate live intervals when compacting; don't fix them.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 7 Aug 2013 01:37:19 +0000 (18:37 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 10 Oct 2013 22:54:15 +0000 (15:54 -0700)
When compacting the list of VGRFs, we patch up the live interval ranges
(which are indexed by VGRF number).  Unfortunately, once we make
per-component data available, this will become too complicated to
maintain.  Instead, simply invalidate them.

This was pulled out of a patch by Eric Anholt.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs.cpp

index d1aed42966af3007e2c8796ac7931b239207264c..a046c3ca2c41e5e3f84887097dafa4c86f5dc4cc 100644 (file)
@@ -1501,10 +1501,7 @@ fs_visitor::compact_virtual_grfs()
       if (remap_table[i] != -1) {
          remap_table[i] = new_index;
          virtual_grf_sizes[new_index] = virtual_grf_sizes[i];
-         if (live_intervals_valid) {
-            virtual_grf_start[new_index] = virtual_grf_start[i];
-            virtual_grf_end[new_index] = virtual_grf_end[i];
-         }
+         invalidate_live_intervals();
          ++new_index;
       }
    }