On Wed, Dec 2, 2015 at 4:13 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 21 > +++++++++++++++++++++ > 1 file changed, 21 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 053df8b..782d068 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > @@ -75,6 +75,7 @@ private: > void emitLOAD(const Instruction *); > void emitSTORE(const Instruction *); > void emitMOV(const Instruction *); > + void emitMEMBAR(const Instruction *); > > void emitINTERP(const Instruction *); > void emitAFETCH(const Instruction *); > @@ -1687,6 +1688,23 @@ CodeEmitterGK110::emitMOV(const Instruction *i) > } > } > > +void CodeEmitterGK110::emitMEMBAR(const Instruction *i) > +{ > + code[0] = 0x001c0000; > + code[1] = 0x7cc00000; > + > + switch (NV50_IR_SUBOP_MEMBAR_SCOPE(i->subOp)) { > + case NV50_IR_SUBOP_MEMBAR_CTA: code[0] |= 0x002; break; > + case NV50_IR_SUBOP_MEMBAR_GL: code[0] |= 0x402; break; > + default: > + code[0] |= 0x802;
AKA all of these stick a 2 on code[0]... maybe just put it up above. > + assert(NV50_IR_SUBOP_MEMBAR_SCOPE(i->subOp) == > NV50_IR_SUBOP_MEMBAR_SYS); > + break; > + } > + > + emitPredicate(i); > +} > + > bool > CodeEmitterGK110::emitInstruction(Instruction *insn) > { > @@ -1918,6 +1936,9 @@ CodeEmitterGK110::emitInstruction(Instruction *insn) > case OP_BAR: > emitBAR(insn); > break; > + case OP_MEMBAR: > + emitMEMBAR(insn); > + break; > case OP_PHI: > case OP_UNION: > case OP_CONSTRAINT: > -- > 2.6.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev