[Mesa-dev] [PATCH 1/4] i965/fs: some TXF don't provide LOD

Samuel Iglesias Gonsálvez siglesias at igalia.com
Fri Oct 6 09:36:18 UTC 2017


SpvOpImageFetch doesn't provide it, so set it to zero.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
---
 src/intel/compiler/brw_fs_nir.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 5b8ccd50bff..25488303c29 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -4518,11 +4518,12 @@ fs_visitor::nir_emit_texture(const fs_builder &bld, nir_tex_instr *instr)
       unreachable("unknown texture opcode");
    }
 
-   /* TXS and TXL require a LOD but not everything we implement using those
-    * two opcodes provides one.  Provide a default LOD of 0.
+   /* TXF, TXS and TXL require a LOD but not everything we implement using those
+    * three opcodes provides one.  Provide a default LOD of 0.
     */
-   if ((opcode == SHADER_OPCODE_TXS_LOGICAL ||
-        opcode == SHADER_OPCODE_TXL_LOGICAL) &&
+   if ((opcode == SHADER_OPCODE_TXF_LOGICAL ||
+         opcode == SHADER_OPCODE_TXS_LOGICAL ||
+         opcode == SHADER_OPCODE_TXL_LOGICAL) &&
        srcs[TEX_LOGICAL_SRC_LOD].file == BAD_FILE) {
       srcs[TEX_LOGICAL_SRC_LOD] = brw_imm_ud(0u);
    }
-- 
2.13.6



More information about the mesa-dev mailing list