Mesa (master): nir/validate: validate that tex deref sources are actually derefs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Mar 29 15:03:53 UTC 2019


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

Author: Karol Herbst <kherbst at redhat.com>
Date:   Sun Mar 24 05:36:36 2019 +0100

nir/validate: validate that tex deref sources are actually derefs

Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/compiler/nir/nir_validate.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/compiler/nir/nir_validate.c b/src/compiler/nir/nir_validate.c
index ef2e2b62783..80f397098a2 100644
--- a/src/compiler/nir/nir_validate.c
+++ b/src/compiler/nir/nir_validate.c
@@ -596,6 +596,17 @@ validate_tex_instr(nir_tex_instr *instr, validate_state *state)
       src_type_seen[instr->src[i].src_type] = true;
       validate_src(&instr->src[i].src, state,
                    0, nir_tex_instr_src_size(instr, i));
+
+      switch (instr->src[i].src_type) {
+      case nir_tex_src_texture_deref:
+      case nir_tex_src_sampler_deref:
+         validate_assert(state, instr->src[i].src.is_ssa);
+         validate_assert(state,
+                         instr->src[i].src.ssa->parent_instr->type == nir_instr_type_deref);
+         break;
+      default:
+         break;
+      }
    }
 
    if (nir_tex_instr_has_explicit_tg4_offsets(instr)) {




More information about the mesa-commit mailing list