From: Ilia Mirkin Date: Tue, 11 Mar 2014 17:03:02 +0000 (-0400) Subject: nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=563083ef576141f39af36426418fc2dbf2d98a3f;p=mesa.git nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf Signed-off-by: Ilia Mirkin --- 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 7d188c9245d..3aedda42801 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -1035,8 +1035,8 @@ CodeEmitterGK110::emitTEX(const TexInstruction *i) code[1] |= 0x1000; } - // if (i->op != OP_TXD && i->tex.derivAll) - // code[1] |= 1 << 13; + if (i->op != OP_TXD && i->tex.derivAll) + code[1] |= 0x200; emitPredicate(i); @@ -1064,8 +1064,12 @@ CodeEmitterGK110::emitTEX(const TexInstruction *i) // ? } - if (i->tex.useOffsets) - code[1] |= 0x200; + if (i->tex.useOffsets) { + switch (i->op) { + case OP_TXF: code[1] |= 0x200; break; + default: code[1] |= 0x800; break; + } + } } void