arb_gl_spirv: add calls to several nir lowerings
[mesa.git] / src / mesa / main / glspirv.c
index ed7ff29328cc37e280dbeffbce4c23ed1ba9f8b7..87075a547cd7f0fdde8c86ee10f8a306a3cdb11e 100644 (file)
@@ -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;
 }