From: Vincent Lejeune Date: Fri, 19 Oct 2012 13:40:38 +0000 (+0200) Subject: r600g: force bank_swizzle if already set X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0f35702d798ead24497928af36236aa4c7e4b87b;p=mesa.git r600g: force bank_swizzle if already set Reviewed-by: Tom Stellard --- 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);