From: Icecream95 Date: Fri, 5 Jun 2020 12:24:22 +0000 (+1200) Subject: pan/mdg: Move r1.w writeout to branch->dest X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ddc2ae32cf40f2aa7d7065720e10ecb01d260a47;p=mesa.git pan/mdg: Move r1.w writeout to branch->dest There will need to be sources for depth and stencil writeout, so something has to be moved to the dest of the writeout branch. Reviewed-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c index 112485b8b83..9f092b6dd3b 100644 --- a/src/panfrost/midgard/midgard_ra.c +++ b/src/panfrost/midgard/midgard_ra.c @@ -389,7 +389,7 @@ mir_compute_interference( midgard_block *block = (midgard_block *) _block; mir_foreach_instr_in_block_rev(block, ins) { if (ins->writeout) - r1w = ins->src[2]; + r1w = ins->dest; } if (r1w != ~0) @@ -616,10 +616,10 @@ allocate_registers(compiler_context *ctx, bool *spilled) if (ins->src[1] < ctx->temp_count) l->solutions[ins->src[1]] = (16 * 1) + COMPONENT_Z * 4; - if (ins->src[2] < ctx->temp_count) - l->solutions[ins->src[2]] = (16 * 1) + COMPONENT_W * 4; + if (ins->dest < ctx->temp_count) + l->solutions[ins->dest] = (16 * 1) + COMPONENT_W * 4; } - + mir_compute_interference(ctx, l); *spilled = !lcra_solve(l); diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index d823155ccf1..dc127dcea90 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -972,8 +972,8 @@ mir_schedule_alu( vadd->unit = UNIT_VADD; vadd->mask = 0x1; - branch->src[2] = vadd->dest; - branch->src_types[2] = vadd->dest_type; + branch->dest = vadd->dest; + branch->dest_type = vadd->dest_type; } mir_choose_alu(&vadd, instructions, worklist, len, &predicate, UNIT_VADD);