diff options
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_ssa_builder.cpp')
-rw-r--r-- | src/gallium/drivers/r600/sb/sb_ssa_builder.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_ssa_builder.cpp b/src/gallium/drivers/r600/sb/sb_ssa_builder.cpp index 87eafae..3ad628b 100644 --- a/src/gallium/drivers/r600/sb/sb_ssa_builder.cpp +++ b/src/gallium/drivers/r600/sb/sb_ssa_builder.cpp @@ -218,7 +218,10 @@ bool ssa_rename::visit(alu_packed_node& n, bool enter) { I->accept(*this, false); } - n.init_args(); + bool repl = (n.op_ptr()->flags & AF_REPL) || + (ctx.is_cayman() && (n.first->alu_op_slot_flags() & AF_S)); + + n.init_args(repl); } return false; } |