Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>
On Wed, Apr 20, 2016 at 4:25 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 | 23 > ++++++++++++++++++++++ > 1 file changed, 23 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 c8cb266..16d9421 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > @@ -95,6 +95,7 @@ private: > void emitISAD(const Instruction *); > void emitFMAD(const Instruction *); > void emitDMAD(const Instruction *); > + void emitMADSP(const Instruction *i); > > void emitNOT(const Instruction *); > void emitLogicOp(const Instruction *, uint8_t subOp); > @@ -517,6 +518,25 @@ CodeEmitterGK110::emitDMAD(const Instruction *i) > } > > void > +CodeEmitterGK110::emitMADSP(const Instruction *i) > +{ > + emitForm_21(i, 0x140, 0xa40); > + > + if (i->subOp == NV50_IR_SUBOP_MADSP_SD) { > + code[1] |= 0x00c00000; > + } else { > + code[1] |= (i->subOp & 0x00f) << 19; // imadp1 > + code[1] |= (i->subOp & 0x0f0) << 20; // imadp2 > + code[1] |= (i->subOp & 0x100) << 11; // imadp3 > + code[1] |= (i->subOp & 0x200) << 15; // imadp3 > + code[1] |= (i->subOp & 0xc00) << 12; // imadp3 > + } > + > + if (i->flagsDef >= 0) > + code[1] |= 1 << 18; > +} > + > +void > CodeEmitterGK110::emitFMUL(const Instruction *i) > { > bool neg = (i->src(0).mod ^ i->src(1).mod).neg(); > @@ -2001,6 +2021,9 @@ CodeEmitterGK110::emitInstruction(Instruction *insn) > else > emitIMAD(insn); > break; > + case OP_MADSP: > + emitMADSP(insn); > + break; > case OP_SAD: > emitISAD(insn); > break; > -- > 2.8.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev