From: Vincent Lejeune Date: Sun, 3 Mar 2013 20:35:38 +0000 (+0100) Subject: r600g: Check comp_mask before merging export instructions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=83e7d111afd8d340ce8fe13ea139271400eb362e;p=mesa.git 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. --- 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 &&