[Mesa-dev] [PATCH v2 3/3] gk110/ir: add missing src predicate emission for BAR.RED
Samuel Pitoiset
samuel.pitoiset at gmail.com
Mon Feb 29 20:54:23 UTC 2016
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
index 46caa3c..facef1d 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -1299,6 +1299,14 @@ CodeEmitterGK110::emitBAR(const Instruction *i)
code[1] |= imm->reg.data.u32 >> 9;
code[1] |= 0x4000;
}
+
+ if (i->srcExists(2) && (i->predSrc != 2)) {
+ srcId(i->src(2), 32 + 10);
+ if (i->src(2).mod == Modifier(NV50_IR_MOD_NOT))
+ code[1] |= 1 << 13;
+ } else {
+ code[1] |= 7 << 10;
+ }
}
void CodeEmitterGK110::emitMEMBAR(const Instruction *i)
--
2.7.1
More information about the mesa-dev
mailing list