Mesa (master): nvc0/ir: use manual TXD when offsets are involved

Ilia Mirkin imirkin at kemper.freedesktop.org
Tue Jul 8 04:26:23 UTC 2014


Module: Mesa
Branch: master
Commit: 114d46829d10c826927cabc1ca14884a4ee249f7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=114d46829d10c826927cabc1ca14884a4ee249f7

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Jul  5 00:52:15 2014 -0400

nvc0/ir: use manual TXD when offsets are involved

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 at alum.mit.edu>
Cc: <mesa-stable at lists.freedesktop.org>

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
index 0e24db7..398b28f 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
@@ -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) {




More information about the mesa-commit mailing list