From: Stéphane Marchesin Date: Fri, 23 Dec 2011 02:17:54 +0000 (-0800) Subject: i915g: Only apply the optimization to output vars. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b50d250e02457f367c195ee1808b061e0dfe2d00;p=mesa.git i915g: Only apply the optimization to output vars. This is a bit overkill, but otherwise we need to rename subsequent uses, which is a future TODO. Reported by CME. --- diff --git a/src/gallium/drivers/i915/i915_fpc_optimize.c b/src/gallium/drivers/i915/i915_fpc_optimize.c index 0d680fbf876..d9b4c46b909 100644 --- a/src/gallium/drivers/i915/i915_fpc_optimize.c +++ b/src/gallium/drivers/i915/i915_fpc_optimize.c @@ -203,6 +203,7 @@ static void i915_fpc_optimize_useless_mov(union i915_full_token* current, union next->FullInstruction.Instruction.Saturate == TGSI_SAT_NONE && next->FullInstruction.Src[0].Register.Absolute == 0 && next->FullInstruction.Src[0].Register.Negate == 0 && + next->FullInstruction.Dst[0].Register.File == TGSI_FILE_OUTPUT && is_unswizzled(&next->FullInstruction.Src[0], next->FullInstruction.Dst[0].Register.WriteMask) && current->FullInstruction.Dst[0].Register.WriteMask == next->FullInstruction.Dst[0].Register.WriteMask && same_src_dst_reg(&next->FullInstruction.Src[0], ¤t->FullInstruction.Dst[0]) )