Mesa (master): r600g: fix relative addressing on RS780 and RS880

Marek Olšák mareko at kemper.freedesktop.org
Tue Aug 28 16:29:09 UTC 2012


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon Aug 27 02:08:37 2012 +0200

r600g: fix relative addressing on RS780 and RS880

They should be treated like RV670.

Tested-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/r600/r600_asm.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c
index f01de41..03ded6c 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -256,16 +256,15 @@ static struct r600_bytecode_tex *r600_bytecode_tex(void)
 
 void r600_bytecode_init(struct r600_bytecode *bc, enum chip_class chip_class, enum radeon_family family)
 {
-	if ((chip_class == R600) && (family != CHIP_RV670))
+	if ((chip_class == R600) &&
+	    (family != CHIP_RV670 && family != CHIP_RS780 && family != CHIP_RS880)) {
 		bc->ar_handling = AR_HANDLE_RV6XX;
-	else
-		bc->ar_handling = AR_HANDLE_NORMAL;
-
-	if ((chip_class == R600) && (family != CHIP_RV670 && family != CHIP_RS780 &&
-					   family != CHIP_RS880))
 		bc->r6xx_nop_after_rel_dst = 1;
-	else
+	} else {
+		bc->ar_handling = AR_HANDLE_NORMAL;
 		bc->r6xx_nop_after_rel_dst = 0;
+	}
+
 	LIST_INITHEAD(&bc->cf);
 	bc->chip_class = chip_class;
 }




More information about the mesa-commit mailing list