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
