From b129c55f428b37325094a3f0da55c337ee94e515 Mon Sep 17 00:00:00 2001 From: Maciej Cencora Date: Wed, 22 Jul 2009 22:10:22 +0200 Subject: 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 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/mesa/drivers') diff --git a/src/mesa/drivers/dri/r300/radeon_nqssadce.c b/src/mesa/drivers/dri/r300/radeon_nqssadce.c index 840c9733b1..202a8532b6 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; } -- cgit v1.2.3