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

Author: Yonggang Luo <[email protected]>
Date:   Fri Jun 30 02:54:48 2023 +0800

vc4: Convert to use nir_foreach_function_impl when possible

Signed-off-by: Yonggang Luo <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23988>

---

 src/gallium/drivers/vc4/vc4_nir_lower_blend.c | 16 +++++++---------
 src/gallium/drivers/vc4/vc4_nir_lower_io.c    |  5 ++---
 src/gallium/drivers/vc4/vc4_program.c         |  6 ++----
 3 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_blend.c 
b/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
index e2da995bcbe..e90a57ef786 100644
--- a/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
+++ b/src/gallium/drivers/vc4/vc4_nir_lower_blend.c
@@ -598,16 +598,14 @@ vc4_nir_lower_blend_block(nir_block *block, struct 
vc4_compile *c)
 void
 vc4_nir_lower_blend(nir_shader *s, struct vc4_compile *c)
 {
-        nir_foreach_function(function, s) {
-                if (function->impl) {
-                        nir_foreach_block(block, function->impl) {
-                                vc4_nir_lower_blend_block(block, c);
-                        }
-
-                        nir_metadata_preserve(function->impl,
-                                              nir_metadata_block_index |
-                                              nir_metadata_dominance);
+        nir_foreach_function_impl(impl, s) {
+                nir_foreach_block(block, impl) {
+                        vc4_nir_lower_blend_block(block, c);
                 }
+
+                nir_metadata_preserve(impl,
+                                      nir_metadata_block_index |
+                                      nir_metadata_dominance);
         }
 
         /* If we didn't do alpha-to-coverage on the output color, we still
diff --git a/src/gallium/drivers/vc4/vc4_nir_lower_io.c 
b/src/gallium/drivers/vc4/vc4_nir_lower_io.c
index 75cf04aeb54..74419bf4e76 100644
--- a/src/gallium/drivers/vc4/vc4_nir_lower_io.c
+++ b/src/gallium/drivers/vc4/vc4_nir_lower_io.c
@@ -372,8 +372,7 @@ vc4_nir_lower_io_impl(struct vc4_compile *c, 
nir_function_impl *impl)
 void
 vc4_nir_lower_io(nir_shader *s, struct vc4_compile *c)
 {
-        nir_foreach_function(function, s) {
-                if (function->impl)
-                        vc4_nir_lower_io_impl(c, function->impl);
+        nir_foreach_function_impl(impl, s) {
+                vc4_nir_lower_io_impl(c, impl);
         }
 }
diff --git a/src/gallium/drivers/vc4/vc4_program.c 
b/src/gallium/drivers/vc4/vc4_program.c
index c3df853c9c6..4bc8b9195e5 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -2200,10 +2200,8 @@ static int
 count_nir_instrs(nir_shader *nir)
 {
         int count = 0;
-        nir_foreach_function(function, nir) {
-                if (!function->impl)
-                        continue;
-                nir_foreach_block(block, function->impl) {
+        nir_foreach_function_impl(impl, nir) {
+                nir_foreach_block(block, impl) {
                         nir_foreach_instr(instr, block)
                                 count++;
                 }

Reply via email to