summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2014-03-11 13:03:02 -0400
committerIlia Mirkin <[email protected]>2014-03-18 05:56:54 -0400
commit563083ef576141f39af36426418fc2dbf2d98a3f (patch)
tree7f1505852861e14385afc8a66323a6f03a19018f
parentece734b3c195c870bbda342edf1807ca436bf83a (diff)
nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf
Signed-off-by: Ilia Mirkin <[email protected]>
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp12
1 files 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