nvc0/ir: use manual TXD when offsets are involved
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 5 Jul 2014 04:52:15 +0000 (00:52 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Tue, 8 Jul 2014 04:14:33 +0000 (00:14 -0400)
Something about how we're implementing offsets for TXD is wrong, just
flip to the generic quadop-based implementation in that case.

This is the minimal fix appropriate for backporting.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp

index 0e24db73ae7e8003c97020bb7a9d48bdb3603151..398b28fe8f305ee6a7093bfd1b26842088e043c6 100644 (file)
@@ -769,7 +769,8 @@ NVC0LoweringPass::handleTXD(TexInstruction *txd)
    if (dim > 2 ||
        txd->tex.target.isCube() ||
        arg > 4 ||
-       txd->tex.target.isShadow())
+       txd->tex.target.isShadow() ||
+       txd->tex.useOffsets)
       return handleManualTXD(txd);
 
    for (int c = 0; c < dim; ++c) {