019ca611fa
This prevents nir_lower_io_to_temporaries from emitting new writes to the old globals that we meant to have disappear through DCE/remove_unused_variables. If you don't do this, then unless you call nir_opt_undef() and it successfully catches io_to_temps' new writes of undefs to the scalar components, the scalar vars will stick around and have stores that conflict with the real vector vars. This hasn't been a problem for the end result of codegen because nir_opt_undef() did succeed. However, things went south with vars_to_ssa mediump lowering, which obscured the result from opt_undef. And, it's really mind-bending to see undef writes to the outputs for a chunk of the shader compiler pipeline anyway. Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18218>