iris: Better handle metadata in NIR passes
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5171>
This commit is contained in:
committed by
Marge Bot
parent
92cfbb7d0c
commit
27b7b89922
@@ -267,8 +267,10 @@ iris_lower_storage_image_derefs(nir_shader *nir)
|
||||
static bool
|
||||
iris_fix_edge_flags(nir_shader *nir)
|
||||
{
|
||||
if (nir->info.stage != MESA_SHADER_VERTEX)
|
||||
if (nir->info.stage != MESA_SHADER_VERTEX) {
|
||||
nir_shader_preserve_all_metadata(nir);
|
||||
return false;
|
||||
}
|
||||
|
||||
nir_variable *var = NULL;
|
||||
nir_foreach_variable(v, &nir->outputs) {
|
||||
@@ -278,8 +280,10 @@ iris_fix_edge_flags(nir_shader *nir)
|
||||
}
|
||||
}
|
||||
|
||||
if (!var)
|
||||
if (!var) {
|
||||
nir_shader_preserve_all_metadata(nir);
|
||||
return false;
|
||||
}
|
||||
|
||||
exec_node_remove(&var->node);
|
||||
var->data.mode = nir_var_shader_temp;
|
||||
@@ -294,6 +298,8 @@ iris_fix_edge_flags(nir_shader *nir)
|
||||
nir_metadata_dominance |
|
||||
nir_metadata_live_ssa_defs |
|
||||
nir_metadata_loop_analysis);
|
||||
} else {
|
||||
nir_metadata_preserve(f->impl, nir_metadata_all);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user