Mesa (7.10): r300/compiler: Disable register rename pass on r500

Tom Stellard tstellar at kemper.freedesktop.org
Sun Feb 6 07:39:37 UTC 2011


Module: Mesa
Branch: 7.10
Commit: 92a619b43fcd6a8778c3419ff3538c1113b4bdf3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92a619b43fcd6a8778c3419ff3538c1113b4bdf3

Author: Tom Stellard <tstellar at gmail.com>
Date:   Sat Feb  5 22:39:58 2011 -0800

r300/compiler: Disable register rename pass on r500

The scheduler and the register allocator are not good enough yet to deal
with the effects of the register rename pass.  This was causing a 50%
performance drop in Lightsmark.  The pass can be re-enabled once the
scheduler and the register allocator are more mature.  r300 and r400
still need this pass, because it prevents a lot of shaders from using
too many texture indirections.

(cherry picked from commit 68b701f5ded5f6b73a6b07cf37d862fab4836607)

---

 src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c
index e0d349b..1616306 100644
--- a/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c
+++ b/src/mesa/drivers/dri/r300/compiler/r3xx_fragprog.c
@@ -124,7 +124,7 @@ void r3xx_compile_fragment_program(struct r300_fragment_program_compiler* c)
 		/* This pass makes it easier for the scheduler to group TEX
 		 * instructions and reduces the chances of creating too
 		 * many texture indirections.*/
-		{"register rename",		1, !is_r500 || opt, rc_rename_regs,		NULL},
+		{"register rename",		1, !is_r500,	rc_rename_regs,			NULL},
 		{"pair translate",		1, 1,		rc_pair_translate,		NULL},
 		{"pair scheduling",		1, 1,		rc_pair_schedule,		NULL},
 		{"register allocation",		1, opt,		rc_pair_regalloc,		NULL},




More information about the mesa-commit mailing list