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

Reply via email to