[Mesa-dev] [PATCH] gm107/ir: add missing setcond flags for LOP variants
Ilia Mirkin
imirkin at alum.mit.edu
Mon Jun 27 22:01:49 UTC 2016
Hm, dangerous:
CodeEmitterGM107::emitCC(int pos)
{
emitField(pos, 1, insn->defExists(1));
}
That should *probably* be insn->flagsDef >= 0. IIRC I fixed up
gf100/gk110 before. But that might have been nv50-specific, I forget
(which has somewhat different flags).
On Mon, Jun 27, 2016 at 5:55 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> Cc: <mesa-stable at lists.freedesktop.org>
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 2 ++
> 1 file changed, 2 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 80761e2..c7bd4e1 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
> @@ -1632,12 +1632,14 @@ CodeEmitterGM107::emitLOP()
> }
> emitPRED (0x30);
> emitX (0x2b);
> + emitCC (0x2f);
The pattern might not be obvious, but these are sorted by decreasing
bitfield position. Please keep the order.
> emitField(0x29, 2, lop);
> emitINV (0x28, insn->src(1));
> emitINV (0x27, insn->src(0));
> } else {
> emitInsn (0x04000000);
> emitX (0x39);
> + emitCC (0x34);
> emitINV (0x38, insn->src(1));
> emitINV (0x37, insn->src(0));
> emitField(0x35, 2, lop);
> --
> 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