i965/fs: Invalidate live intervals when demoting uniforms to pull params.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 11 Mar 2014 06:55:21 +0000 (23:55 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 14 Mar 2014 20:18:46 +0000 (13:18 -0700)
Normally, nothing uses live intervals at this point, so this isn't
necessary.  However, dump_instructions() calculates them and uses them
to show register pressure.  So, calling dump_instructions() in this area
of the code would segfault due to the arrays being the wrong size.

This is not a candidate for stable branches because it only serves to
fix internal debugging code that you manually have to invoke by altering
the source code or using gdb.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_fs.cpp

index 3fab30953c12cdbbb4219b124c325a804dc8d923..0945343a03d2c3ec3562d482edaa7dac2a72b692 100644 (file)
@@ -1883,6 +1883,7 @@ fs_visitor::move_uniform_array_access_to_pull_constants()
          inst->src[i].reladdr = NULL;
       }
    }
+   invalidate_live_intervals();
 }
 
 /**
@@ -1968,6 +1969,7 @@ fs_visitor::setup_pull_constants()
         inst->src[i].set_smear(pull_index & 3);
       }
    }
+   invalidate_live_intervals();
 }
 
 bool