In the short imm form 0x80000 was sign-extended to 0xfff80000 which leads to wrong results.
Signed-off-by: Karol Herbst <kher...@redhat.com> --- src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 370427d0d13..a988f169bd4 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -877,7 +877,7 @@ CodeEmitterGK110::emitLogicOp(const Instruction *i, uint8_t subOp) code[1] |= 7 << 10; } } else - if (isLIMM(i->src(1), TYPE_S32)) { + if (i->src(1).getFile() == FILE_IMMEDIATE) { emitForm_L(i, 0x200, 0, i->src(1).mod); code[1] |= subOp << 24; NOT_(3a, 0); -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev