From: Rhys Perry Date: Mon, 6 Apr 2020 10:47:18 +0000 (+0100) Subject: aco: remove divergence check in sanitize_if() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8dd6a51e8010a0a5b33e1a4c7a7a3251ddaa8e50;p=mesa.git aco: remove divergence check in sanitize_if() We also need to do this if a side ends in a divergent break. Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Tested-by: Marge Bot Part-of: --- diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index ac7df920100..dcaf40f421d 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -154,8 +154,7 @@ unsigned get_interp_input(nir_intrinsic_op intrin, enum glsl_interp_mode interp) bool sanitize_if(nir_function_impl *impl, bool *divergent, nir_if *nif) { - if (!divergent[nif->condition.ssa->index]) - return false; + //TODO: skip this if the condition is uniform and there are no divergent breaks/continues? nir_block *then_block = nir_if_last_then_block(nif); nir_block *else_block = nir_if_last_else_block(nif);