From ad8dd39bd35320c02d8f9be036e458aa479fffff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Thu, 22 Apr 2021 14:11:39 +0200 Subject: [PATCH] aco: Fixup the NIR metadata after sanitize_cf_list. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sanitize_cf_list can in fact invalidate the dominance metadata, which we need to use eg. nir_unsigned_upper_bound. Signed-off-by: Timur Kristóf Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection_setup.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index fb3e2659f5a..4392c9b463a 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -590,10 +590,10 @@ void init_context(isel_context *ctx, nir_shader *shader) /* sanitize control flow */ nir_metadata_require(impl, nir_metadata_dominance); sanitize_cf_list(impl, &impl->body); - nir_metadata_preserve(impl, ~nir_metadata_block_index); + nir_metadata_preserve(impl, nir_metadata_none); - /* we'll need this for isel */ - nir_metadata_require(impl, nir_metadata_block_index); + /* we'll need these for isel */ + nir_metadata_require(impl, nir_metadata_block_index | nir_metadata_dominance); if (!ctx->stage.has(SWStage::GSCopy) && ctx->options->dump_preoptir) { fprintf(stderr, "NIR shader before instruction selection:\n");