Using a hash-table walk means that variables will get inserted in
different orders on different runs. Just walk the list of globals
instead, even if some of them can't be turned into locals.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
}
}
- 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);