diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/nir/nir_lower_global_vars_to_local.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/nir/nir_lower_global_vars_to_local.c b/src/compiler/nir/nir_lower_global_vars_to_local.c index 4df87aba366..9efc511bcad 100644 --- a/src/compiler/nir/nir_lower_global_vars_to_local.c +++ b/src/compiler/nir/nir_lower_global_vars_to_local.c @@ -83,8 +83,11 @@ nir_lower_global_vars_to_local(nir_shader *shader) } } - hash_table_foreach(var_func_table, entry) { - nir_variable *var = (void *)entry->key; + nir_foreach_variable_safe(var, &shader->globals) { + struct hash_entry *entry = _mesa_hash_table_search(var_func_table, var); + if (!entry) + continue; + nir_function_impl *impl = entry->data; assert(var->data.mode == nir_var_shader_temp); |