Module: Mesa Branch: main Commit: 6087f1951e42f71b9b5043f0d5e23e7c31762572 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6087f1951e42f71b9b5043f0d5e23e7c31762572
Author: Rhys Perry <pendingchao...@gmail.com> Date: Thu Apr 14 16:26:45 2022 +0100 nir: call nir_metadata_preserve in nir_lower_memory_model Signed-off-by: Rhys Perry <pendingchao...@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12448> --- src/compiler/nir/nir_lower_memory_model.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_memory_model.c b/src/compiler/nir/nir_lower_memory_model.c index eb16eb9f6eb..8180f5ef041 100644 --- a/src/compiler/nir/nir_lower_memory_model.c +++ b/src/compiler/nir/nir_lower_memory_model.c @@ -274,7 +274,8 @@ nir_lower_memory_model(nir_shader *shader) { bool progress = false; - struct exec_list *cf_list = &nir_shader_get_entrypoint(shader)->body; + nir_function_impl *impl = nir_shader_get_entrypoint(shader); + struct exec_list *cf_list = &impl->body; uint32_t modes = 0; foreach_list_typed(nir_cf_node, cf_node, node, cf_list) @@ -284,5 +285,10 @@ nir_lower_memory_model(nir_shader *shader) foreach_list_typed_reverse(nir_cf_node, cf_node, node, cf_list) progress |= lower_make_available(cf_node, &modes); + if (progress) + nir_metadata_preserve(impl, nir_metadata_block_index | nir_metadata_dominance); + else + nir_metadata_preserve(impl, nir_metadata_all); + return progress; }