From 450c0613627d5a472fcf1122c15b66988abfb372 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 13 Apr 2016 16:26:57 -0700 Subject: [PATCH] nir/lower_double_pack: fixup for new nir_foreach_block() Signed-off-by: Jason Ekstrand Reviewed-by: Connor Abbott Reviewed-by: Ian Romanick --- src/compiler/nir/nir_lower_double_packing.c | 47 +++++++++++++---------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/src/compiler/nir/nir_lower_double_packing.c b/src/compiler/nir/nir_lower_double_packing.c index 22092a2..046e213 100644 --- a/src/compiler/nir/nir_lower_double_packing.c +++ b/src/compiler/nir/nir_lower_double_packing.c @@ -46,44 +46,39 @@ lower_unpack_double(nir_builder *b, nir_ssa_def *src) nir_unpack_double_2x32_split_y(b, src)); } -static bool -lower_double_pack_block(nir_block *block, void *ctx) +static void +lower_double_pack_impl(nir_function_impl *impl) { - nir_builder *b = (nir_builder *) ctx; + nir_builder b; + nir_builder_init(&b, impl); - nir_foreach_instr_safe(instr, block) { - if (instr->type != nir_instr_type_alu) - continue; + nir_foreach_block(block, impl) { + nir_foreach_instr_safe(instr, block) { + if (instr->type != nir_instr_type_alu) + continue; - nir_alu_instr *alu_instr = (nir_alu_instr *) instr; + nir_alu_instr *alu_instr = (nir_alu_instr *) instr; - if (alu_instr->op != nir_op_pack_double_2x32 && - alu_instr->op != nir_op_unpack_double_2x32) - continue; + if (alu_instr->op != nir_op_pack_double_2x32 && + alu_instr->op != nir_op_unpack_double_2x32) + continue; - b->cursor = nir_before_instr(&alu_instr->instr); + b.cursor = nir_before_instr(&alu_instr->instr); - nir_ssa_def *src = nir_ssa_for_alu_src(b, alu_instr, 0); - nir_ssa_def *dest = - alu_instr->op == nir_op_pack_double_2x32 ? - lower_pack_double(b, src) : - lower_unpack_double(b, src); + nir_ssa_def *src = nir_ssa_for_alu_src(&b, alu_instr, 0); + nir_ssa_def *dest = + alu_instr->op == nir_op_pack_double_2x32 ? + lower_pack_double(&b, src) : + lower_unpack_double(&b, src); - nir_ssa_def_rewrite_uses(&alu_instr->dest.dest.ssa, nir_src_for_ssa(dest)); - nir_instr_remove(&alu_instr->instr); + nir_ssa_def_rewrite_uses(&alu_instr->dest.dest.ssa, nir_src_for_ssa(dest)); + nir_instr_remove(&alu_instr->instr); + } } return true; } -static void -lower_double_pack_impl(nir_function_impl *impl) -{ - nir_builder b; - nir_builder_init(&b, impl); - nir_foreach_block_call(impl, lower_double_pack_block, &b); -} - void nir_lower_double_pack(nir_shader *shader) { -- 2.7.4