diff options
author | Vincent Lejeune <[email protected]> | 2013-03-03 21:35:38 +0100 |
---|---|---|
committer | Vincent Lejeune <[email protected]> | 2013-03-03 21:39:51 +0100 |
commit | 83e7d111afd8d340ce8fe13ea139271400eb362e (patch) | |
tree | d87dd03ec897448c20c7fd47236b2b0637960020 /src/gallium/drivers/r600/r600_asm.c | |
parent | 138b5b9a12b7e1537494aac556589ac9981b557b (diff) |
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.
Diffstat (limited to 'src/gallium/drivers/r600/r600_asm.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.c | 1 |
1 files changed, 1 insertions, 0 deletions
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 && |