Mesa (9.1): r600g: Check comp_mask before merging export instructions
Alex Deucher
agd5f at kemper.freedesktop.org
Tue Mar 5 23:44:07 UTC 2013
Module: Mesa
Branch: 9.1
Commit: 1dc162d52fab6a7cd5e5e7fd60c9af603a1e541e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dc162d52fab6a7cd5e5e7fd60c9af603a1e541e
Author: Vincent Lejeune <vljn at ovi.com>
Date: Sun Mar 3 21:35:38 2013 +0100
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.
(cherry picked from commit 83e7d111afd8d340ce8fe13ea139271400eb362e)
---
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 451b072..bda425c 100644
--- a/src/gallium/drivers/r600/r600_asm.c
+++ b/src/gallium/drivers/r600/r600_asm.c
@@ -322,6 +322,7 @@ int r600_bytecode_add_output(struct r600_bytecode *bc, const struct r600_bytecod
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 &&
More information about the mesa-commit
mailing list