zink: fix crash in lower_pv_mode_gs_store
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 11 Aug 2023 19:16:51 +0000 (15:16 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 14 Aug 2023 11:46:05 +0000 (11:46 +0000)
src->parent can be null

Fixes: 39770c6503a ("zink: fix store subsitution in `lower_pv_mode_gs_store`")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24642>

src/gallium/drivers/zink/zink_compiler.c

index 0732d8e..f8d72a1 100644 (file)
@@ -426,7 +426,9 @@ lower_pv_mode_gs_ring_index(nir_builder *b,
 static nir_deref_instr*
 replicate_derefs(nir_builder *b, nir_deref_instr *old, nir_deref_instr *new)
 {
-   nir_deref_instr *parent = nir_src_as_deref(old->parent);
+   nir_deref_instr *parent = nir_deref_instr_parent(old);
+   if (!parent)
+      return new;
    switch(old->deref_type) {
    case nir_deref_type_var:
       return new;