Mesa (7.9): tgsi: Don' t ignore indirect registers in tgsi_check_soa_dependencies
Jakob Bornecrantz
wallbraker at kemper.freedesktop.org
Mon Oct 4 15:46:28 UTC 2010
Module: Mesa
Branch: 7.9
Commit: 15ad34f0122adc8598e13d962597d4d847677e59
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=15ad34f0122adc8598e13d962597d4d847677e59
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
Cherry-picked from master commit c66f0c46297996613fa8271925e37e594cf5d16b
---
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