Mesa (master): aco: remove divergence check in sanitize_if()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 6 19:12:42 UTC 2020


Module: Mesa
Branch: master
Commit: 8dd6a51e8010a0a5b33e1a4c7a7a3251ddaa8e50
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8dd6a51e8010a0a5b33e1a4c7a7a3251ddaa8e50

Author: Rhys Perry <pendingchaos02 at gmail.com>
Date:   Mon Apr  6 11:47:18 2020 +0100

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 <pendingchaos02 at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4461>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4461>

---

 src/amd/compiler/aco_instruction_selection_setup.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

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);



More information about the mesa-commit mailing list