Mesa (main): nir: call nir_metadata_preserve in nir_lower_memory_model
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu May 19 14:36:43 UTC 2022
Module: Mesa
Branch: main
Commit: 6087f1951e42f71b9b5043f0d5e23e7c31762572
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6087f1951e42f71b9b5043f0d5e23e7c31762572
Author: Rhys Perry <pendingchaos02 at 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 <pendingchaos02 at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at 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;
}
More information about the mesa-commit
mailing list