From: Connor Abbott Date: Mon, 22 Jun 2015 20:53:08 +0000 (-0700) Subject: nir/vtn: fix emitting code after loops X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a3dda101e88142cb3b3eebb18883edecb21b375;p=mesa.git nir/vtn: fix emitting code after loops When we're done emitting the code for a loop, we need to visit the new break block, which is the merge block of the current loop, rather than the old merge block, which is the merge block of the loop containing the one we just emitted code for. --- diff --git a/src/glsl/nir/spirv_to_nir.c b/src/glsl/nir/spirv_to_nir.c index e0f280ceaae..4aabf3cc4e0 100644 --- a/src/glsl/nir/spirv_to_nir.c +++ b/src/glsl/nir/spirv_to_nir.c @@ -2095,7 +2095,7 @@ vtn_walk_blocks(struct vtn_builder *b, struct vtn_block *start, vtn_walk_blocks(b, block, new_break_block, new_cont_block, NULL); nir_builder_insert_after_cf_list(&b->nb, old_list); - block = break_block; + block = new_break_block; continue; }