[Mesa-dev] [PATCH 2/2] i965/fs: Stop trying to hack around weird MRF chains on gen7+ LIFO scheduling.

Eric Anholt eric at anholt.net
Tue Oct 22 22:46:25 CEST 2013


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
---
 src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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;
       }
    }
-- 
1.8.4.rc3



More information about the mesa-dev mailing list