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

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

sfn: Convert to use nir_foreach_function_impl

Signed-off-by: Yonggang Luo <[email protected]>
Reviewed-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23960>

---

 src/gallium/drivers/r600/sfn/sfn_nir.cpp                 | 16 ++++++++--------
 src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp     | 12 ++++--------
 .../drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp  |  6 ++----
 src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp   | 12 +++++-------
 src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp       |  8 ++++----
 .../drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c       |  5 ++---
 6 files changed, 25 insertions(+), 34 deletions(-)

diff --git a/src/gallium/drivers/r600/sfn/sfn_nir.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir.cpp
index 7d5ef15eabf..3ecec29452c 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir.cpp
@@ -113,11 +113,11 @@ bool
 r600_lower_scratch_addresses(nir_shader *shader)
 {
    bool progress = false;
-   nir_foreach_function(function, shader)
+   nir_foreach_function_impl(impl, shader)
    {
-      nir_builder build = nir_builder_create(function->impl);
+      nir_builder build = nir_builder_create(impl);
 
-      nir_foreach_block(block, function->impl)
+      nir_foreach_block(block, impl)
       {
          nir_foreach_instr(instr, block)
          {
@@ -503,12 +503,12 @@ r600_get_natural_size_align_bytes(const struct glsl_type 
*type,
 }
 
 static bool
-r600_lower_shared_io_impl(nir_function *func)
+r600_lower_shared_io_impl(nir_function_impl *impl)
 {
-   nir_builder b = nir_builder_create(func->impl);
+   nir_builder b = nir_builder_create(impl);
 
    bool progress = false;
-   nir_foreach_block(block, func->impl)
+   nir_foreach_block(block, impl)
    {
       nir_foreach_instr_safe(instr, block)
       {
@@ -586,9 +586,9 @@ static bool
 r600_lower_shared_io(nir_shader *nir)
 {
    bool progress = false;
-   nir_foreach_function(function, nir)
+   nir_foreach_function_impl(impl, nir)
    {
-      if (function->impl && r600_lower_shared_io_impl(function))
+      if (r600_lower_shared_io_impl(impl))
          progress = true;
    }
    return progress;
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp
index bbaa68d9e0d..3d1e6c4f5be 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_64bit.cpp
@@ -1064,10 +1064,9 @@ bool
 r600_nir_64_to_vec2(nir_shader *sh)
 {
    vector<nir_instr *> intr64bit;
-   nir_foreach_function(function, sh)
+   nir_foreach_function_impl(impl, sh)
    {
-      if (function->impl) {
-         nir_foreach_block(block, function->impl)
+         nir_foreach_block(block, impl)
          {
             nir_foreach_instr_safe(instr, block)
             {
@@ -1101,7 +1100,6 @@ r600_nir_64_to_vec2(nir_shader *sh)
                }
             }
          }
-      }
    }
 
    bool result = Lower64BitToVec2().run(sh);
@@ -1181,10 +1179,9 @@ void
 StoreMerger::collect_stores()
 {
    unsigned vertex = 0;
-   nir_foreach_function(function, sh)
+   nir_foreach_function_impl(impl, sh)
    {
-      if (function->impl) {
-         nir_foreach_block(block, function->impl)
+         nir_foreach_block(block, impl)
          {
             nir_foreach_instr_safe(instr, block)
             {
@@ -1205,7 +1202,6 @@ StoreMerger::collect_stores()
                m_stores[index].push_back(ir);
             }
          }
-      }
    }
 }
 
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
index 7c92c4d0cbd..3f25f700fe4 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_fs_out_to_vector.cpp
@@ -128,10 +128,8 @@ r600_lower_fs_out_to_vector(nir_shader *shader)
    assert(shader->info.stage == MESA_SHADER_FRAGMENT);
    bool progress = false;
 
-   nir_foreach_function(function, shader)
-   {
-      if (function->impl)
-         progress |= processor.run(function->impl);
+   nir_foreach_function_impl(impl, shader) {
+      progress |= processor.run(impl);
    }
    return progress;
 }
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp
index 785b187fec4..67f99e8eb85 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tess_io.cpp
@@ -479,12 +479,11 @@ bool
 r600_lower_tess_io(nir_shader *shader, enum mesa_prim prim_type)
 {
    bool progress = false;
-   nir_foreach_function(function, shader)
+   nir_foreach_function_impl(impl, shader)
    {
-      if (function->impl) {
-         nir_builder b = nir_builder_create(function->impl);
+         nir_builder b = nir_builder_create(impl);
 
-         nir_foreach_block(block, function->impl)
+         nir_foreach_block(block, impl)
          {
             nir_foreach_instr_safe(instr, block)
             {
@@ -495,7 +494,6 @@ r600_lower_tess_io(nir_shader *shader, enum mesa_prim 
prim_type)
                   progress |= r600_lower_tess_io_impl(&b, instr, prim_type);
             }
          }
-      }
    }
    return progress;
 }
@@ -517,9 +515,9 @@ r600_append_tcs_TF_emission(nir_shader *shader, enum 
mesa_prim prim_type)
    if (shader->info.stage != MESA_SHADER_TESS_CTRL)
       return false;
 
-   nir_foreach_function(function, shader)
+   nir_foreach_function_impl(impl, shader)
    {
-      nir_foreach_block(block, function->impl)
+      nir_foreach_block(block, impl)
       {
          nir_foreach_instr_safe(instr, block)
          {
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp 
b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp
index 4aa5847194a..6369cfc781c 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_lower_tex.cpp
@@ -134,9 +134,9 @@ r600_nir_lower_int_tg4(nir_shader *shader)
    }
 
    if (need_lowering) {
-      nir_foreach_function(function, shader)
+      nir_foreach_function_impl(impl, shader)
       {
-         if (function->impl && r600_nir_lower_int_tg4_impl(function->impl))
+         if (r600_nir_lower_int_tg4_impl(impl))
             progress = true;
       }
    }
@@ -224,9 +224,9 @@ bool
 r600_nir_lower_txl_txf_array_or_cube(nir_shader *shader)
 {
    bool progress = false;
-   nir_foreach_function(function, shader)
+   nir_foreach_function_impl(impl, shader)
    {
-      if (function->impl && 
r600_nir_lower_txl_txf_array_or_cube_impl(function->impl))
+      if (r600_nir_lower_txl_txf_array_or_cube_impl(impl))
          progress = true;
    }
    return progress;
diff --git a/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c 
b/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
index ca6143874d3..6735a474759 100644
--- a/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
+++ b/src/gallium/drivers/r600/sfn/sfn_nir_vectorize_vs_inputs.c
@@ -459,10 +459,9 @@ r600_vectorize_vs_inputs(nir_shader *shader)
    if (shader->info.stage != MESA_SHADER_VERTEX)
       return false;
 
-   nir_foreach_function(function, shader)
+   nir_foreach_function_impl(impl, shader)
    {
-      if (function->impl)
-         progress |= r600_vectorize_io_impl(function->impl);
+      progress |= r600_vectorize_io_impl(impl);
    }
 
    return progress;

Reply via email to