Mesa (master): i965/fs: Invalidate live intervals when demoting uniforms to pull params.

Kenneth Graunke kwg at kemper.freedesktop.org
Fri Mar 14 20:19:01 UTC 2014


Module: Mesa
Branch: master
Commit: 7554539d7ebbed5f5048ddeadaf5a5dc6e2ce2a6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7554539d7ebbed5f5048ddeadaf5a5dc6e2ce2a6

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Mar 10 23:55:21 2014 -0700

i965/fs: Invalidate live intervals when demoting uniforms to pull params.

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 at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 3fab309..0945343 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -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




More information about the mesa-commit mailing list