Mesa (master): nvc0/ir: fetch shadow value from proper place for TG4 cube array

Ilia Mirkin imirkin at kemper.freedesktop.org
Sat Apr 26 16:03:47 UTC 2014


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Thu Apr 24 00:45:19 2014 -0400

nvc0/ir: fetch shadow value from proper place for TG4 cube array

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

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

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 ea545c2..fc418bf 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
@@ -1683,7 +1683,10 @@ Converter::handleTEX(Value *dst[4], int R, int S, int L, int C, int Dx, int Dy)
    if (C == 0x0f)
       C = 0x00 | MAX2(tgt.getArgCount(), 2); // guess DC src
 
-   if (tgt.isShadow())
+   if (tgsi.getOpcode() == TGSI_OPCODE_TG4 &&
+       tgt == TEX_TARGET_CUBE_ARRAY_SHADOW)
+      shd = fetchSrc(1, 0);
+   else if (tgt.isShadow())
       shd = fetchSrc(C >> 4, C & 3);
 
    if (texi->op == OP_TXD) {




More information about the mesa-commit mailing list