Discussion:
[Mesa-dev] [PATCH] nv50/ir: properly set sType for TXF ops to U32
Ilia Mirkin
2017-08-24 03:18:14 UTC
Permalink
All of the coordinates and LOD args are integers for TXF. This mostly
doesn't matter, except for converting into a levelZero=true operation by
removing an explicit zero LOD. For the comparison against zero to work
properly, the sType of the instruction has to be set correctly.

Fixes: KHR-GL45.robust_buffer_access_behavior.texel_fetch
Reported-by: Karol Herbst <***@gmail.com>
Signed-off-by: Ilia Mirkin <***@alum.mit.edu>
Cc: mesa-***@lists.freedesktop.org
---
src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 3 +++
1 file changed, 3 insertions(+)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
index 14e8c1320cf..4076177e56d 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
@@ -912,6 +912,9 @@ TexInstruction::TexInstruction(Function *fn, operation op)

tex.rIndirectSrc = -1;
tex.sIndirectSrc = -1;
+
+ if (op == OP_TXF)
+ sType = TYPE_U32;
}

TexInstruction::~TexInstruction()
--
2.13.5
Loading...