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

Author: Samuel Pitoiset <[email protected]>
Date:   Sat Feb 13 22:06:15 2016 +0100

nv50/ir: add MEMBAR emission for GM107

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

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp 
b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
index dee2622..8fcff37 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
@@ -193,6 +193,8 @@ private:
    void emitNOP();
    void emitKIL();
    void emitOUT();
+
+   void emitMEMBAR();
 };
 
 
/*******************************************************************************
@@ -2627,6 +2629,13 @@ CodeEmitterGM107::emitOUT()
    emitGPR  (0x00, insn->def(0));
 }
 
+void
+CodeEmitterGM107::emitMEMBAR()
+{
+   emitInsn (0xef980000);
+   emitField(0x08, 2, insn->subOp >> 2);
+}
+
 
/*******************************************************************************
  * assembler front-end
  
******************************************************************************/
@@ -2926,6 +2935,9 @@ CodeEmitterGM107::emitInstruction(Instruction *i)
    case OP_RESTART:
       emitOUT();
       break;
+   case OP_MEMBAR:
+      emitMEMBAR();
+      break;
    default:
       assert(!"invalid opcode");
       emitNOP();

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

Reply via email to