Mesa (main): r600: preserve all metadata when passes don't make progress

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Aug 19 13:33:25 UTC 2021


Module: Mesa
Branch: main
Commit: 8892d276d2d722003a56b960df85f4c70420f351
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8892d276d2d722003a56b960df85f4c70420f351

Author: Marcin Ślusarz <marcin.slusarz at intel.com>
Date:   Tue Aug 10 14:40:41 2021 +0200

r600: preserve all metadata when passes don't make progress

Signed-off-by: Marcin Ślusarz <marcin.slusarz at intel.com>
Reviewed-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12467>

---

 src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp | 2 ++
 src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c      | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp b/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
index 4a177d15dd9..b4a29731f73 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
@@ -142,6 +142,8 @@ bool NirLowerIOToVector::run(nir_function_impl *impl)
    bool progress = vectorize_block(&b, nir_start_block(impl));
    if (progress) {
       nir_metadata_preserve(impl, nir_metadata_block_index | nir_metadata_dominance);
+   } else {
+      nir_metadata_preserve(impl, nir_metadata_all);
    }
    return progress;
 }
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c b/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
index 2ff60cf6a77..35fd5cfffa1 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
@@ -443,6 +443,8 @@ r600_vectorize_io_impl(nir_function_impl *impl)
    if (progress) {
       nir_metadata_preserve(impl, nir_metadata_block_index |
                                   nir_metadata_dominance);
+   } else {
+      nir_metadata_preserve(impl, nir_metadata_all);
    }
 
    r600_vec_instr_set_destroy(instr_set);



More information about the mesa-commit mailing list