Mesa (master): r300: fix address register handling in NQSSADCE

Maciej Cencora osiris at kemper.freedesktop.org
Wed Jul 22 20:16:17 UTC 2009


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

Author: Maciej Cencora <m.cencora at gmail.com>
Date:   Wed Jul 22 22:10:22 2009 +0200

r300: fix address register handling in NQSSADCE

For address register we always use X component

---

 src/mesa/drivers/dri/r300/radeon_nqssadce.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/radeon_nqssadce.c b/src/mesa/drivers/dri/r300/radeon_nqssadce.c
index 840c973..202a853 100644
--- a/src/mesa/drivers/dri/r300/radeon_nqssadce.c
+++ b/src/mesa/drivers/dri/r300/radeon_nqssadce.c
@@ -117,13 +117,15 @@ static struct prog_instruction* track_used_srcreg(struct nqssadce_state* s,
 
 	struct register_state *regstate;
 
-	if (inst->SrcReg[src].RelAddr)
+	if (inst->SrcReg[src].RelAddr) {
 		regstate = get_reg_state(s, PROGRAM_ADDRESS, 0);
-	else
+		if (regstate)
+			regstate->Sourced |= WRITEMASK_X;
+	} else {
 		regstate = get_reg_state(s, inst->SrcReg[src].File, inst->SrcReg[src].Index);
-
-	if (regstate)
-		regstate->Sourced |= deswz_source & 0xf;
+		if (regstate)
+			regstate->Sourced |= deswz_source & 0xf;
+	}
 
 	return inst;
 }




More information about the mesa-commit mailing list