Module: Mesa Branch: main Commit: 8892d276d2d722003a56b960df85f4c70420f351 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8892d276d2d722003a56b960df85f4c70420f351
Author: Marcin Ślusarz <[email protected]> Date: Tue Aug 10 14:40:41 2021 +0200 r600: preserve all metadata when passes don't make progress Signed-off-by: Marcin Ślusarz <[email protected]> Reviewed-by: Gert Wollny <[email protected]> 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);
