Mesa (master): r600g: force bank_swizzle if already set

Vincent Lejeune vlj at kemper.freedesktop.org
Wed Oct 24 21:37:43 UTC 2012


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

Author: Vincent Lejeune <vljn at ovi.com>
Date:   Fri Oct 19 15:40:38 2012 +0200

r600g: force bank_swizzle if already set

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

---

 src/gallium/drivers/r600/r600_asm.c |    2 ++
 src/gallium/drivers/r600/r700_asm.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c
index 066fb67..51a2e4e 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -2914,6 +2914,8 @@ void r600_bytecode_alu_read(struct r600_bytecode_alu *alu, uint32_t word0, uint3
 
 	/* WORD1 */
 	alu->bank_swizzle = G_SQ_ALU_WORD1_BANK_SWIZZLE(word1);
+	if (alu->bank_swizzle)
+		alu->bank_swizzle_force = alu->bank_swizzle;
 	alu->dst.sel = G_SQ_ALU_WORD1_DST_GPR(word1);
 	alu->dst.rel = G_SQ_ALU_WORD1_DST_REL(word1);
 	alu->dst.chan = G_SQ_ALU_WORD1_DST_CHAN(word1);
diff --git a/src/gallium/drivers/r600/r700_asm.c b/src/gallium/drivers/r600/r700_asm.c
index 818933a..47b4f91 100644
--- a/src/gallium/drivers/r600/r700_asm.c
+++ b/src/gallium/drivers/r600/r700_asm.c
@@ -92,6 +92,8 @@ void r700_bytecode_alu_read(struct r600_bytecode_alu *alu, uint32_t word0, uint3
 
 	/* WORD1 */
 	alu->bank_swizzle = G_SQ_ALU_WORD1_BANK_SWIZZLE(word1);
+	if (alu->bank_swizzle)
+		alu->bank_swizzle_force = alu->bank_swizzle;
 	alu->dst.sel = G_SQ_ALU_WORD1_DST_GPR(word1);
 	alu->dst.rel = G_SQ_ALU_WORD1_DST_REL(word1);
 	alu->dst.chan = G_SQ_ALU_WORD1_DST_CHAN(word1);




More information about the mesa-commit mailing list