Mesa (master): nir: assert that nir_lower_tex runs after lowering derefs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 13 23:35:37 UTC 2020


Module: Mesa
Branch: master
Commit: 4cda61f11e922fb5914ae73d22cc0c495abf0377
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cda61f11e922fb5914ae73d22cc0c495abf0377

Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Jan 13 11:34:53 2020 -0800

nir: assert that nir_lower_tex runs after lowering derefs

It isn't going to do the right thing, because texture_index/
sampler_index defaults to zero.

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368>

---

 src/compiler/nir/nir_lower_tex.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/compiler/nir/nir_lower_tex.c b/src/compiler/nir/nir_lower_tex.c
index 6c8c6aa1164..191076f8c27 100644
--- a/src/compiler/nir/nir_lower_tex.c
+++ b/src/compiler/nir/nir_lower_tex.c
@@ -934,6 +934,12 @@ nir_lower_tex_block(nir_block *block, nir_builder *b,
       nir_tex_instr *tex = nir_instr_as_tex(instr);
       bool lower_txp = !!(options->lower_txp & (1 << tex->sampler_dim));
 
+      /* we aren't really going to do the right thing if we haven't
+       * lowered tex/samp derefs yet:
+       */
+      assume(nir_tex_instr_src_index(tex, nir_tex_src_texture_deref) < 0);
+      assume(nir_tex_instr_src_index(tex, nir_tex_src_sampler_deref) < 0);
+
       /* mask of src coords to saturate (clamp): */
       unsigned sat_mask = 0;
 



More information about the mesa-commit mailing list