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++; }