From: José Fonseca Date: Tue, 21 Sep 2010 00:16:19 +0000 (+0200) Subject: tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c66f0c46297996613fa8271925e37e594cf5d16b;p=mesa.git tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies NOTE: This is a candidate for the 7.9 branch. --- diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 0757f05dfab..3a71540506d 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -605,8 +605,10 @@ tgsi_check_soa_dependencies(const struct tgsi_full_instruction *inst) for (i = 0; i < inst->Instruction.NumSrcRegs; i++) { if ((inst->Src[i].Register.File == inst->Dst[0].Register.File) && - (inst->Src[i].Register.Index == - inst->Dst[0].Register.Index)) { + ((inst->Src[i].Register.Index == + inst->Dst[0].Register.Index) || + inst->Src[i].Register.Indirect || + inst->Dst[0].Register.Indirect)) { /* loop over dest channels */ uint channelsWritten = 0x0; FOR_EACH_ENABLED_CHANNEL(*inst, chan) {