From 563083ef576141f39af36426418fc2dbf2d98a3f Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Tue, 11 Mar 2014 13:03:02 -0400 Subject: [PATCH] nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf Signed-off-by: Ilia Mirkin --- .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 -- 2.30.2