OSDN Git Service

gk110/ir: fix quadop dall emission
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 4 Sep 2016 22:21:29 +0000 (18:21 -0400)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 5 Sep 2016 10:37:18 +0000 (11:37 +0100)
We recently starting to always emit the NDV (== dall) bit for quadops.
However it was folded into the wrong code word.

Fixes: e0a067ed48 (nv50/ir: always emit the NDV bit for OP_QUADOP)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 61e978524a0e5de4f8570b44bcb9b907a9187684)

src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp

index b3e6c56..939972d 100644 (file)
@@ -1320,8 +1320,8 @@ CodeEmitterGK110::emitTXQ(const TexInstruction *i)
 void
 CodeEmitterGK110::emitQUADOP(const Instruction *i, uint8_t qOp, uint8_t laneMask)
 {
-   code[0] = 0x00000202 | ((qOp & 1) << 31); // dall
-   code[1] = 0x7fc00000 | (qOp >> 1) | (laneMask << 12);
+   code[0] = 0x00000002 | ((qOp & 1) << 31);
+   code[1] = 0x7fc00200 | (qOp >> 1) | (laneMask << 12); // dall
 
    defId(i->def(0), 2);
    srcId(i->src(0), 10);