Mesa (main): microsoft/spirv_to_dxil: Adding continue opt pass to fix DXIL loop gen

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jul 24 14:57:48 UTC 2021


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

Author: Enrico Galli <enrico.galli at intel.com>
Date:   Fri Jul 23 14:47:33 2021 -0700

microsoft/spirv_to_dxil: Adding continue opt pass to fix DXIL loop gen

Reviewed-by: Jesse Natalie <jenatali at microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12048>

---

 src/microsoft/spirv_to_dxil/spirv_to_dxil.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/microsoft/spirv_to_dxil/spirv_to_dxil.c b/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
index 21edddae2af..f010007d950 100644
--- a/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
+++ b/src/microsoft/spirv_to_dxil/spirv_to_dxil.c
@@ -125,6 +125,11 @@ spirv_to_dxil(const uint32_t *words, size_t word_count,
          NIR_PASS(progress, nir, nir_opt_undef);
          NIR_PASS(progress, nir, nir_opt_constant_folding);
          NIR_PASS(progress, nir, nir_opt_cse);
+         if (nir_opt_trivial_continues(nir)) {
+            progress = true;
+            NIR_PASS(progress, nir, nir_copy_prop);
+            NIR_PASS(progress, nir, nir_opt_dce);
+         }
          NIR_PASS(progress, nir, nir_lower_vars_to_ssa);
          NIR_PASS(progress, nir, nir_opt_algebraic);
       } while (progress);



More information about the mesa-commit mailing list