mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 22:30:12 +01:00
nir: Fix non-determinism in lower_global_vars_to_local
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>
This commit is contained in:
parent
f512965b0b
commit
f9fd04aca1
1 changed files with 5 additions and 2 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue