[Mesa-dev] [PATCH] i965/fs: Don't compute_to_mrf() in the optimization loop.

Matt Turner mattst88 at gmail.com
Wed Oct 29 14:31:53 PDT 2014


... or on Gen >= 7 at all. We use load_payload to gather results for the
FB write(s) now, so we never write to MRFs directly. It's still called
after lower_load_payload() since that will generate MOVs to MRFs on
platforms with MRFs.

No differences in shader-db on Haswell (Gen 7.5).
---
 src/mesa/drivers/dri/i965/brw_fs.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index aa1d8d2..b223ae5 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2427,6 +2427,10 @@ fs_visitor::compute_to_mrf()
    bool progress = false;
    int next_ip = 0;
 
+   /* No MRFs on Gen >= 7. */
+   if (brw->gen >= 7)
+      return false;
+
    calculate_live_intervals();
 
    foreach_block_and_inst_safe(block, fs_inst, inst, cfg) {
@@ -3575,7 +3579,6 @@ fs_visitor::run()
          OPT(opt_register_renaming);
          OPT(opt_saturate_propagation);
          OPT(register_coalesce);
-         OPT(compute_to_mrf);
 
          OPT(compact_virtual_grfs);
       } while (progress);
-- 
2.0.4



More information about the mesa-dev mailing list