From e04cf0b61269ca60b3260d81d94e625965d39901 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Wed, 15 May 2019 23:02:51 +0100 Subject: [PATCH] nir: lower_non_uniform_access: iterate over instructions safely This pass moves instructions around and adds control-flow in the middle of blocks. We need to use nir_foreach_instr_safe to ensure that we iterate over instructions correctly anyway. Signed-off-by: Lionel Landwerlin Fixes: 3bd545764151 ("nir: Add a lowering pass for non-uniform resource access") Reviewed-by: Jason Ekstrand --- src/compiler/nir/nir_lower_non_uniform_access.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_non_uniform_access.c b/src/compiler/nir/nir_lower_non_uniform_access.c index b2bdb4dd412..6367f5670e8 100644 --- a/src/compiler/nir/nir_lower_non_uniform_access.c +++ b/src/compiler/nir/nir_lower_non_uniform_access.c @@ -130,7 +130,7 @@ nir_lower_non_uniform_access_impl(nir_function_impl *impl, nir_builder_init(&b, impl); nir_foreach_block(block, impl) { - nir_foreach_instr(instr, block) { + nir_foreach_instr_safe(instr, block) { switch (instr->type) { case nir_instr_type_tex: { nir_tex_instr *tex = nir_instr_as_tex(instr); -- 2.30.2