Mesa (master): nir: Handle complex derefs in nir_split_array_vars

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 6 23:39:23 UTC 2019


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

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Fri Aug 30 13:21:00 2019 -0500

nir: Handle complex derefs in nir_split_array_vars

We already bail and don't split the vars but we were passing a NULL to
_mesa_hash_table_search which is not allowed.

Fixes: f1cb3348f1 "nir/split_vars: Properly bail in the presence of ..."
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>

---

 src/compiler/nir/nir_split_vars.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/compiler/nir/nir_split_vars.c b/src/compiler/nir/nir_split_vars.c
index 3d98b5c8805..80536ac543a 100644
--- a/src/compiler/nir/nir_split_vars.c
+++ b/src/compiler/nir/nir_split_vars.c
@@ -427,8 +427,11 @@ get_array_deref_info(nir_deref_instr *deref,
    if (!(deref->mode & modes))
       return NULL;
 
-   return get_array_var_info(nir_deref_instr_get_variable(deref),
-                             var_info_map);
+   nir_variable *var = nir_deref_instr_get_variable(deref);
+   if (var == NULL)
+      return NULL;
+
+   return get_array_var_info(var, var_info_map);
 }
 
 static void




More information about the mesa-commit mailing list