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

Author: Maciej Cencora <[email protected]>
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;
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to