Mesa (master): nvc0/ir: add missing emission of locked load predicate
Samuel Pitoiset
hakzsam at kemper.freedesktop.org
Mon Feb 22 20:30:43 UTC 2016
Module: Mesa
Branch: master
Commit: 84b9b8f0a395a26984980bb465b06ba08f55a1c6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=84b9b8f0a395a26984980bb465b06ba08f55a1c6
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Feb 22 21:11:33 2016 +0100
nvc0/ir: add missing emission of locked load predicate
Like unlocked store on shared memory, locked store can fail and the
second dest which is a predicate must be emitted.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at lists.freedesktop.org
---
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 7 +++++++
1 file changed, 7 insertions(+)
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 e89b129..0068da5 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
@@ -1852,6 +1852,13 @@ CodeEmitterNVC0::emitLOAD(const Instruction *i)
}
code[1] = opc;
+ if (i->src(0).getFile() == FILE_MEMORY_SHARED) {
+ if (i->subOp == NV50_IR_SUBOP_LOAD_LOCKED) {
+ assert(i->defExists(1));
+ defId(i->def(1), 32 + 18);
+ }
+ }
+
defId(i->def(0), 14);
setAddressByFile(i->src(0));
More information about the mesa-commit
mailing list