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

Author: Jason Ekstrand <[email protected]>
Date:   Fri Oct 23 14:00:49 2020 -0500

mesa/spirv: Lower variable initializers for global variables

We lower variable initializers for local variables higher up in the
function but we never called nir_lower_variable_initializers for
anything else.

Cc: [email protected]
Reviewed-by: Alejandro PiƱeiro <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7296>

---

 src/mesa/main/glspirv.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/mesa/main/glspirv.c b/src/mesa/main/glspirv.c
index dc0a0d29dd3..92c521ba649 100644
--- a/src/mesa/main/glspirv.c
+++ b/src/mesa/main/glspirv.c
@@ -295,6 +295,13 @@ _mesa_spirv_to_nir(struct gl_context *ctx,
    }
    assert(exec_list_length(&nir->functions) == 1);
 
+   /* Now that we've deleted all but the main function, we can go ahead and
+    * lower the rest of the constant initializers.  We do this here so that
+    * nir_remove_dead_variables and split_per_member_structs below see the
+    * corresponding stores.
+    */
+   NIR_PASS_V(nir, nir_lower_variable_initializers, ~0);
+
    /* Split member structs.  We do this before lower_io_to_temporaries so that
     * it doesn't lower system values to temporaries by accident.
     */

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to