etnaviv: fix emit_if in case the else block ends in a jump

Fixes piglit test shaders@ssa@fs-if-def-else-break.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12892>
This commit is contained in:
Philipp Zabel 2021-09-15 13:18:18 +02:00 committed by Marge Bot
parent af13119993
commit 1b808f1dea

View file

@ -653,7 +653,7 @@ emit_if(struct etna_compile *c, nir_if * nif)
*/
if (!nir_block_ends_in_jump(nir_if_last_then_block(nif)) &&
!nir_cf_list_is_empty_block(&nif->else_list))
etna_emit_jump(c, nir_if_last_else_block(nif)->successors[0]->index, SRC_DISABLE);
etna_emit_jump(c, nir_if_last_then_block(nif)->successors[0]->index, SRC_DISABLE);
emit_cf_list(c, &nif->else_list);
}