[Mesa-dev] [PATCH 3/3] gk1100/ir: add missing src predicate emission for BAR.RED

Ilia Mirkin imirkin at alum.mit.edu
Sun Feb 28 21:50:43 UTC 2016


On Sun, Feb 28, 2016 at 4:30 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 | 6 ++++++
>  1 file changed, 6 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 ff56987..07e4f4d 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,12 @@ 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;
> +   }

You probably want the PT to be emitted when it doesn't exist though
right? Should there be a

} else {
  code[1] |= 0x7 << 10;
}

perhaps?

>  }
>
>  void CodeEmitterGK110::emitMEMBAR(const Instruction *i)
> --
> 2.7.1
>
> _______________________________________________
> 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