Module: Mesa Branch: master Commit: 3fffcb317c90b03cad733bca027ff2a978567306 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fffcb317c90b03cad733bca027ff2a978567306
Author: Tom Stellard <tstel...@gmail.com> Date: Thu Sep 9 10:19:52 2010 -0700 r300/compiler: Don't use presubtract in TEX instructions --- .../drivers/dri/r300/compiler/radeon_optimize.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c index 88aac94..0c6b1bd 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c @@ -192,7 +192,7 @@ static void copy_propagate(struct radeon_compiler * c, struct rc_instruction * i /* It is possible to do copy propigation in this situation, * just not right now, see peephole_add_presub_inv() */ if (inst_mov->U.I.PreSub.Opcode != RC_PRESUB_NONE && - info->NumSrcRegs > 2) { + (info->NumSrcRegs > 2 || info->HasTexture)) { return; } @@ -559,6 +559,11 @@ static int presub_helper( break; } + if (info->HasTexture) { + can_remove = 0; + break; + } + /* We can't use more than one presubtract value in an * instruction, unless the two prsubtract operations * are the same and read from the same registers. */ _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit