[Mesa-dev] [PATCH 1/7] gk110/ir: add emission for OP_PERMT

Ilia Mirkin imirkin at alum.mit.edu
Wed Apr 20 20:29:12 UTC 2016


Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

On Wed, Apr 20, 2016 at 4:25 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 12 ++++++++++++
>  1 file changed, 12 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 5f93df2..c8cb266 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
> @@ -102,6 +102,7 @@ private:
>     void emitINSBF(const Instruction *);
>     void emitEXTBF(const Instruction *);
>     void emitBFIND(const Instruction *);
> +   void emitPERMT(const Instruction *);
>     void emitShift(const Instruction *);
>
>     void emitSFnOp(const Instruction *, uint8_t subOp);
> @@ -809,6 +810,14 @@ CodeEmitterGK110::emitBFIND(const Instruction *i)
>  }
>
>  void
> +CodeEmitterGK110::emitPERMT(const Instruction *i)
> +{
> +   emitForm_21(i, 0x1e0, 0xb60);
> +
> +   code[1] |= i->subOp << 19;
> +}
> +
> +void
>  CodeEmitterGK110::emitShift(const Instruction *i)
>  {
>     if (i->op == OP_SHR) {
> @@ -2119,6 +2128,9 @@ CodeEmitterGK110::emitInstruction(Instruction *insn)
>     case OP_BFIND:
>        emitBFIND(insn);
>        break;
> +   case OP_PERMT:
> +      emitPERMT(insn);
> +      break;
>     case OP_JOIN:
>        emitNOP(insn);
>        insn->join = 1;
> --
> 2.8.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list