From adad576bfc606694323fcbda3113ea339a3e935d Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Tue, 18 Oct 2016 00:25:38 -0400 Subject: [PATCH] nv50/ir: use levelZero for non-frag tex/txp ops radeonsi also does the same thing. I suspect that this is likely to be a no-op in reality, but it brings nouveau code closer to what the blob produces. Plus it makes sense to not try to do auto-derivatives on this. Signed-off-by: Ilia Mirkin Reviewed-by: Samuel Pitoiset --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 5 +++++ 1 file changed, 5 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 3e4f26c6bb1..b47fc497c87 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -2227,6 +2227,11 @@ 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; + if (prog->getType() != Program::TYPE_FRAGMENT && + (tgsi.getOpcode() == TGSI_OPCODE_TEX || + tgsi.getOpcode() == TGSI_OPCODE_TEX2 || + tgsi.getOpcode() == TGSI_OPCODE_TXP)) + texi->tex.levelZero = true; if (tgsi.getOpcode() == TGSI_OPCODE_TG4 && !tgt.isShadow()) texi->tex.gatherComp = tgsi.getSrc(1).getValueU32(0, info); -- 2.30.2