Module: Mesa Branch: master Commit: 6c84a2665c619ca8dd0c4c64617b87ae1e5565e3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c84a2665c619ca8dd0c4c64617b87ae1e5565e3
Author: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> Date: Tue Aug 13 15:59:41 2019 -0700 pan/midgard: Allocate spill_slot once Multiple spill moves share a single spill slot. Issue found in Krita. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> --- src/panfrost/midgard/midgard_schedule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index ce97287d199..ab96a4b8fff 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -781,13 +781,15 @@ static void mir_spill_register( * implicitly. For special writes, spill to a work register */ if (!is_special || is_special_w) { + if (is_special_w) + spill_slot = spill_index++; + mir_foreach_instr_global_safe(ctx, ins) { if (ins->ssa_args.dest != spill_node) continue; midgard_instruction st; if (is_special_w) { - spill_slot = spill_index++; st = v_mov(spill_node, blank_alu_src, spill_slot); st.no_spill = true; } else { _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit