X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fglspirv.c;h=87075a547cd7f0fdde8c86ee10f8a306a3cdb11e;hb=bbe2d50b589e0d7b7b63d63814a5271b680164ce;hp=ed7ff29328cc37e280dbeffbce4c23ed1ba9f8b7;hpb=d480623bef7cfc632af166a304eb104928c73520;p=mesa.git diff --git a/src/mesa/main/glspirv.c b/src/mesa/main/glspirv.c index ed7ff29328c..87075a547cd 100644 --- a/src/mesa/main/glspirv.c +++ b/src/mesa/main/glspirv.c @@ -238,6 +238,14 @@ _mesa_spirv_to_nir(struct gl_context *ctx, prog->Name); nir_validate_shader(nir); + NIR_PASS_V(nir, nir_copy_prop); + + /* Split member structs. We do this before lower_io_to_temporaries so that + * it doesn't lower system values to temporaries by accident. + */ + NIR_PASS_V(nir, nir_split_var_copies); + NIR_PASS_V(nir, nir_split_per_member_structs); + return nir; }