diff options
author | Ilia Mirkin <[email protected]> | 2014-03-11 13:03:02 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2014-03-18 05:56:54 -0400 |
commit | 563083ef576141f39af36426418fc2dbf2d98a3f (patch) | |
tree | 7f1505852861e14385afc8a66323a6f03a19018f /src/gallium/drivers/nouveau/codegen | |
parent | ece734b3c195c870bbda342edf1807ca436bf83a (diff) |
nv50/ir/gk110: handle derivAll flag, fix useOffsets for non-txf
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 12 |
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 |