mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
pan/midgard: Allocate spill_slot once
Multiple spill moves share a single spill slot. Issue found in Krita. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
2a9031ea44
commit
6c84a2665c
1 changed files with 3 additions and 1 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue