Mesa (master): tgsi: Don' t ignore indirect registers in tgsi_check_soa_dependencies

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Mon Sep 20 17:26:21 PDT 2010


Module: Mesa
Branch: master
Commit: c66f0c46297996613fa8271925e37e594cf5d16b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c66f0c46297996613fa8271925e37e594cf5d16b

Author: José Fonseca <jfonseca at vmware.com>
Date:   Tue Sep 21 02:16:19 2010 +0200

tgsi: Don't ignore indirect registers in tgsi_check_soa_dependencies

NOTE: This is a candidate for the 7.9 branch.

---

 src/gallium/auxiliary/tgsi/tgsi_exec.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index 0757f05..3a71540 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) {



More information about the mesa-commit mailing list