summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-05-30 17:25:41 -0400
committerIlia Mirkin <[email protected]>2016-05-30 18:15:14 -0400
commit4b1a167a2bce936beabd03ffc313a63d8deeed09 (patch)
tree3aa06308c97c665d19386b2a756c5980cfe74179
parent1f895caba0accc0af3e637d6193ac0b673ce98bc (diff)
nvc0/ir: fix spilling predicates to registers
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Cc: "11.1 11.2 12.0" <[email protected]>
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
index 9159e342193..bc94285120e 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
@@ -1985,6 +1985,10 @@ CodeEmitterNVC0::emitMOV(const Instruction *i)
opc |= i->lanes << 5;
emitForm_B(i, opc);
+
+ // Explicitly emit the predicate source as emitForm_B skips it.
+ if (i->src(0).getFile() == FILE_PREDICATE)
+ srcId(i->src(0), 20);
} else {
uint32_t imm;