nir/lower_variable_initializers: Restrict the modes we lower

This is not a functional change because these are the only modes we
handle.  All others get silently ignored.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5966>
This commit is contained in:
Jason Ekstrand
2020-07-21 18:46:24 -05:00
committed by Marge Bot
parent 4d7e064623
commit c256cd900e

View File

@@ -88,6 +88,16 @@ nir_lower_variable_initializers(nir_shader *shader, nir_variable_mode modes)
{
bool progress = false;
/* Only some variables have initializers that we want to lower. Others
* such as uniforms have initializers which are useful later during linking
* so we want to skip over those. Restrict to only variable types where
* initializers make sense so that callers can use nir_var_all.
*/
modes &= nir_var_shader_out |
nir_var_shader_temp |
nir_var_function_temp |
nir_var_system_value;
nir_foreach_function(function, shader) {
if (!function->impl)
continue;