On 06/28/2016 12:01 AM, Ilia Mirkin wrote:
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).

Yeah, right. But this can be fixed in a separate patch.


On Mon, Jun 27, 2016 at 5:55 PM, Samuel Pitoiset
<samuel.pitoi...@gmail.com> wrote:
Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
Cc: <mesa-sta...@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.

Mmmh, I would definitely prefer to sort by arguments... but whatever I'll fix that.


       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@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

Reply via email to