Module: Mesa Branch: master Commit: 0dbdcb43215c13dd7d7f83c1f1cdbfe6706109f0 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0dbdcb43215c13dd7d7f83c1f1cdbfe6706109f0
Author: Tom Stellard <[email protected]> Date: Fri Jun 18 20:42:33 2010 -0700 r300/compiler: Don't continue copy propagation inside loops. --- .../drivers/dri/r300/compiler/radeon_optimize.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c index e760b59..eca0651 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c @@ -162,6 +162,11 @@ static void peephole(struct radeon_compiler * c, struct rc_instruction * inst_mo for(struct rc_instruction * inst = inst_mov->Next; inst != &c->Program.Instructions; inst = inst->Next) { + /* XXX In the future we might be able to make the optimizer + * smart enough to handle loops. */ + if(inst->U.I.Opcode == RC_OPCODE_BGNLOOP){ + return; + } rc_for_all_reads_mask(inst, peephole_scan_read, &s); rc_for_all_writes_mask(inst, peephole_scan_write, &s); if (s.Conflict) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
