aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_remove_dead_variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/nir/nir_remove_dead_variables.c')
-rw-r--r--src/compiler/nir/nir_remove_dead_variables.c33
1 files changed, 4 insertions, 29 deletions
diff --git a/src/compiler/nir/nir_remove_dead_variables.c b/src/compiler/nir/nir_remove_dead_variables.c
index dfeaa249590..5037b862263 100644
--- a/src/compiler/nir/nir_remove_dead_variables.c
+++ b/src/compiler/nir/nir_remove_dead_variables.c
@@ -148,7 +148,7 @@ remove_dead_vars(struct exec_list *var_list, nir_variable_mode modes,
{
bool progress = false;
- nir_foreach_variable_safe(var, var_list) {
+ nir_foreach_variable_in_list_safe(var, var_list) {
if (!(var->data.mode & modes))
continue;
@@ -176,34 +176,9 @@ nir_remove_dead_variables(nir_shader *shader, nir_variable_mode modes,
add_var_use_shader(shader, live, modes);
- if (modes & nir_var_uniform) {
- progress = remove_dead_vars(&shader->uniforms, modes, live, can_remove_var) ||
- progress;
- }
-
- if (modes & nir_var_shader_in) {
- progress = remove_dead_vars(&shader->inputs, modes, live, can_remove_var) ||
- progress;
- }
-
- if (modes & nir_var_shader_out) {
- progress = remove_dead_vars(&shader->outputs, modes, live, can_remove_var) ||
- progress;
- }
-
- if (modes & nir_var_shader_temp) {
- progress = remove_dead_vars(&shader->globals, modes, live, can_remove_var) ||
- progress;
- }
-
- if (modes & nir_var_system_value) {
- progress = remove_dead_vars(&shader->system_values, modes, live,
- can_remove_var) || progress;
- }
-
- if (modes & nir_var_mem_shared) {
- progress = remove_dead_vars(&shader->shared, modes, live, can_remove_var) ||
- progress;
+ if (modes & ~nir_var_function_temp) {
+ progress = remove_dead_vars(&shader->variables, modes,
+ live, can_remove_var) || progress;
}
if (modes & nir_var_function_temp) {