From caffc3abcac8b9eebc4fdfd6c95c71edfb9bdb46 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 9 Jan 2024 15:56:56 -0400 Subject: [PATCH] nir/lower_blend: return progress Signed-off-by: Alyssa Rosenzweig Reviewed-by: Konstantin Seurer Part-of: --- src/compiler/nir/nir_lower_blend.c | 19 ++++++++++--------- src/compiler/nir/nir_lower_blend.h | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/compiler/nir/nir_lower_blend.c b/src/compiler/nir/nir_lower_blend.c index c35d33817a7..b169317747d 100644 --- a/src/compiler/nir/nir_lower_blend.c +++ b/src/compiler/nir/nir_lower_blend.c @@ -635,19 +635,20 @@ consume_dual_stores(nir_builder *b, nir_intrinsic_instr *store, void *data) * This pass requires that shader I/O is lowered to explicit load/store * instructions using nir_lower_io. */ -void +bool nir_lower_blend(nir_shader *shader, const nir_lower_blend_options *options) { assert(shader->info.stage == MESA_SHADER_FRAGMENT); struct ctx ctx = { .options = options }; - nir_shader_intrinsics_pass(shader, consume_dual_stores, - nir_metadata_block_index | - nir_metadata_dominance, - ctx.src1); + bool progress = nir_shader_intrinsics_pass(shader, consume_dual_stores, + nir_metadata_block_index | + nir_metadata_dominance, + ctx.src1); - nir_shader_intrinsics_pass(shader, nir_lower_blend_instr, - nir_metadata_block_index | - nir_metadata_dominance, - &ctx); + progress |= nir_shader_intrinsics_pass(shader, nir_lower_blend_instr, + nir_metadata_block_index | + nir_metadata_dominance, + &ctx); + return progress; } diff --git a/src/compiler/nir/nir_lower_blend.h b/src/compiler/nir/nir_lower_blend.h index f2c4a0b2a85..91d69828a22 100644 --- a/src/compiler/nir/nir_lower_blend.h +++ b/src/compiler/nir/nir_lower_blend.h @@ -59,7 +59,7 @@ typedef struct { bool scalar_blend_const; } nir_lower_blend_options; -void nir_lower_blend(nir_shader *shader, +bool nir_lower_blend(nir_shader *shader, const nir_lower_blend_options *options); #endif