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;
