Mesa (master): i965/fs: Stop trying to hack around MRF dep chains on gen7+ LIFO scheduling.

Eric Anholt anholt at kemper.freedesktop.org
Fri Oct 25 23:45:41 UTC 2013


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

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Oct 22 12:38:14 2013 -0700

i965/fs: Stop trying to hack around MRF dep chains on gen7+ LIFO scheduling.

This was a hack to avoid choosing to schedule all texturing before
consumption of any texture results due to the way dependency chains worked
out in the presence of MRFs.  On gen7, we don't have MRFs, so the problem
doesn't apply, and this was just badly constraining our scheduling.

total instructions in shared programs: 1615306 -> 1612534 (-0.17%)
instructions in affected programs:     9958 -> 7186 (-27.84%)
GAINED:                                259
LOST:                                  9

Reviewed-by: Matt Turner <mattst88 at gmail.com>

---

 .../drivers/dri/i965/brw_schedule_instructions.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
index 99538bd..a1ecfde 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -969,7 +969,7 @@ fs_instruction_scheduler::choose_instruction_to_schedule()
          fs_inst *inst = (fs_inst *)n->inst;
 
          chosen = n;
-         if (inst->regs_written <= 1)
+         if (v->brw->gen >= 7 || inst->regs_written <= 1)
             break;
       }
    }




More information about the mesa-commit mailing list