From 83e7d111afd8d340ce8fe13ea139271400eb362e Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Sun, 3 Mar 2013 21:35:38 +0100 Subject: r600g: Check comp_mask before merging export instructions Fixes a llvm uncovered (rare) bug where consecutive exports were merged even if they have incompatible mask. --- src/gallium/drivers/r600/r600_asm.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/gallium') diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index b5a29cbb003..cb3e7a63025 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -145,6 +145,7 @@ int r600_bytecode_add_output(struct r600_bytecode *bc, output->swizzle_y == bc->cf_last->output.swizzle_y && output->swizzle_z == bc->cf_last->output.swizzle_z && output->swizzle_w == bc->cf_last->output.swizzle_w && + output->comp_mask == bc->cf_last->output.comp_mask && (output->burst_count + bc->cf_last->output.burst_count) <= 16) { if ((output->gpr + output->burst_count) == bc->cf_last->output.gpr && -- cgit v1.2.3