Module: Mesa
Branch: master
Commit: 8a109c0375ba1faa987329ab6355f7bcb497bd78
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a109c0375ba1faa987329ab6355f7bcb497bd78

Author: Samuel Pitoiset <[email protected]>
Date:   Sun Feb 28 22:44:24 2016 +0100

gk110/ir: add missing src predicate emission for BAR.RED

Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>

---

 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 e5d638b..0d7d95e 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
@@ -1300,6 +1300,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)

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to