Mesa (staging/20.1): nir: lower_tex: Don't normalize coordinates for TXF with RECT

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun May 31 23:07:48 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: 2d66b9a81bb2615dbc5cfd5d2ce251dfb88f53f8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d66b9a81bb2615dbc5cfd5d2ce251dfb88f53f8

Author: Gert Wollny <gert.wollny at collabora.com>
Date:   Tue May 19 17:52:31 2020 +0200

nir: lower_tex: Don't normalize coordinates for TXF with RECT

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 at collabora.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5105>
(cherry picked from commit 682e14d3eaee8991ee08ea309cbf9a509b6e6b27)

---

 .pick_status.json                | 2 +-
 src/compiler/nir/nir_lower_tex.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 34913dd1ba4..b2621fcef6b 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -751,7 +751,7 @@
         "description": "nir: lower_tex: Don't normalize coordinates for TXF with RECT",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "1ce8060c25c7f2c7a54159fab6a6974c0ba182a8"
     },
diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c
index 18bbd1e39a8..8f373ddf67a 100644
--- a/src/compiler/nir/nir_lower_tex.c
+++ b/src/compiler/nir/nir_lower_tex.c
@@ -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;
       }



More information about the mesa-commit mailing list