r600g: force bank_swizzle if already set
authorVincent Lejeune <vljn@ovi.com>
Fri, 19 Oct 2012 13:40:38 +0000 (15:40 +0200)
committerVincent Lejeune <vljn@ovi.com>
Wed, 24 Oct 2012 21:37:02 +0000 (23:37 +0200)
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r700_asm.c

index 066fb67aba4f4f2696ca7136cc780e33458062c6..51a2e4ee9e592f0ab9ba9ffb90d472daeacc97d7 100644 (file)
@@ -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);
index 818933a4dbdabaed3afe3f801ddc975214157e88..47b4f91ee1d12c1dfb1a63daad9d693254a0a449 100644 (file)
@@ -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);