From 0f35702d798ead24497928af36236aa4c7e4b87b Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Fri, 19 Oct 2012 15:40:38 +0200 Subject: [PATCH] r600g: force bank_swizzle if already set Reviewed-by: Tom Stellard --- src/gallium/drivers/r600/r600_asm.c | 2 ++ src/gallium/drivers/r600/r700_asm.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 066fb67aba4..51a2e4ee9e5 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 818933a4dbd..47b4f91ee1d 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); -- 2.30.2