nir: lower_tex: Don't normalize coordinates for TXF with RECT
authorGert Wollny <gert.wollny@collabora.com>
Tue, 19 May 2020 15:52:31 +0000 (17:52 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 28 May 2020 18:39:29 +0000 (18:39 +0000)
v2: remove the option to actually request normalization and its
    application in Intel < Gen6 (Jason)

v3: Also don't lower for query operations (Jason)

Fixes: 1ce8060c25c7f2c7a54159fab6a6974c0ba182a8
    nir/lower_tex: support for lowering RECT textures

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5105>

src/compiler/nir/nir_lower_tex.c

index 18bbd1e39a8c6ee7a98c74abdd3cbc5ad939895a..8f373ddf67a6e83f48e0cfe1ef89687542cdd6cd 100644 (file)
@@ -959,7 +959,8 @@ nir_lower_tex_block(nir_block *block, nir_builder *b,
          progress = lower_offset(b, tex) || progress;
       }
 
-      if ((tex->sampler_dim == GLSL_SAMPLER_DIM_RECT) && options->lower_rect) {
+      if ((tex->sampler_dim == GLSL_SAMPLER_DIM_RECT) && options->lower_rect &&
+          tex->op != nir_texop_txf && !nir_tex_instr_is_query(tex)) {
          lower_rect(b, tex);
          progress = true;
       }