Cc: Rob Clark <robcl...@freedesktop.org>
Reviewed-by: Kristian Høgsberg <k...@bitplanet.net>
---
 src/gallium/drivers/freedreno/ir3/ir3_nir.h         |  2 +-
 .../drivers/freedreno/ir3/ir3_nir_lower_if_else.c   | 21 +++++----------------
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir.h 
b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
index 9950782..1fbf055 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_nir.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
@@ -32,6 +32,6 @@
 #include "glsl/nir/nir.h"
 #include "glsl/nir/shader_enums.h"
 
-bool ir3_nir_lower_if_else(nir_shader *shader);
+NIR_DECL_PASS(ir3_nir_lower_if_else)
 
 #endif /* IR3_NIR_H_ */
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c 
b/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
index 4ec0e2b..04430f5 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_nir_lower_if_else.c
@@ -307,7 +307,7 @@ lower_if_else_block(nir_block *block, void *void_state)
 }
 
 static bool
-lower_if_else_impl(nir_function_impl *impl)
+lower_if_else_impl(nir_function_impl *impl, void *unused)
 {
        struct lower_state state;
 
@@ -317,21 +317,10 @@ lower_if_else_impl(nir_function_impl *impl)
 
        nir_foreach_block(impl, lower_if_else_block, &state);
 
-       if (state.progress)
-               nir_metadata_preserve(impl, nir_metadata_none);
-
        return state.progress;
 }
 
-bool
-ir3_nir_lower_if_else(nir_shader *shader)
-{
-       bool progress = false;
-
-       nir_foreach_overload(shader, overload) {
-               if (overload->impl)
-                       progress |= lower_if_else_impl(overload->impl);
-       }
-
-       return progress;
-}
+const nir_pass ir3_nir_lower_if_else_pass = {
+   .impl_pass_func = lower_if_else_impl,
+   .metadata_preserved = nir_metadata_none,
+};
-- 
2.5.0.400.gff86faf

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to