[Mesa-dev] [PATCH] nv50/ir: properly set sType for TXF ops to U32

Ilia Mirkin imirkin at alum.mit.edu
Thu Aug 24 03:18:14 UTC 2017

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 <karolherbst at gmail.com>
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: mesa-stable at 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;

More information about the mesa-dev mailing list