From: Connor Abbott Date: Tue, 21 Apr 2020 09:27:46 +0000 (+0200) Subject: ir3: Don't double-insert the first block X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8cfa60eab85bfe08098ddd014da861b9e3f6aca3;p=mesa.git ir3: Don't double-insert the first block The first block was being added to the list twice, once here and once in emit_block(), leading to list corruption and infinite loops when trying to traverse the list of blocks backwards. Part-of: --- diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index a82faee998e..fad611c9b5f 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -3262,7 +3262,6 @@ emit_instructions(struct ir3_context *ctx) /* Create inputs in first block: */ ctx->block = get_block(ctx, nir_start_block(fxn)); ctx->in_block = ctx->block; - list_addtail(&ctx->block->node, &ctx->ir->block_list); /* for fragment shader, the vcoord input register is used as the * base for bary.f varying fetch instrs: