[Nouveau] [PATCH] nouveau/codegen: allow tex offsets on non-TXF instructions (e.g. TXL)

Ilia Mirkin imirkin at alum.mit.edu
Mon Feb 3 23:58:28 PST 2014


Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---

This fixes the bin/fs-textureOffset-2D piglit test on nv50. Have yet to re-run
the full piglit suite with this change in place, but it seems pretty obvious.

 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
index 51d3d08..b078f2e 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
@@ -1729,6 +1729,14 @@ Converter::handleTEX(Value *dst[4], int R, int S, int L, int C, int Dx, int Dy)
    if (tgsi.getOpcode() == TGSI_OPCODE_SAMPLE_C_LZ)
       texi->tex.levelZero = true;
 
+   for (s = 0; s < tgsi.getNumTexOffsets(); ++s) {
+      for (c = 0; c < 3; ++c) {
+         texi->tex.offset[s][c] = tgsi.getTexOffset(s).getValueU32(c, info);
+         if (texi->tex.offset[s][c])
+            texi->tex.useOffsets = s + 1;
+      }
+   }
+
    bb->insertTail(texi);
 }
 
-- 
1.8.3.2



More information about the Nouveau mailing list