Module: Mesa
Branch: master
Commit: 656051d735c949021e7eb206b6c4a633cc76936f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=656051d735c949021e7eb206b6c4a633cc76936f

Author: Rob Clark <[email protected]>
Date:   Mon Apr 27 17:00:17 2020 -0700

freedreno/ir3/ra: only assign array base in first pass

In particular, we specifically don't want to let the base change between
passes, as it could end up conflicting with registers assigned in the
first pass.

Mostly-closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2838
Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780>

---

 src/freedreno/ir3/ir3_ra.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/freedreno/ir3/ir3_ra.c b/src/freedreno/ir3/ir3_ra.c
index 656fa01193e..927f91e98ec 100644
--- a/src/freedreno/ir3/ir3_ra.c
+++ b/src/freedreno/ir3/ir3_ra.c
@@ -1383,7 +1383,8 @@ ra_precolor(struct ir3_ra_ctx *ctx, struct 
ir3_instruction **precolor, unsigned
                if (arr->end_ip == 0)
                        continue;
 
-               assign_arr_base(ctx, arr, precolor, nprecolor);
+               if (!ctx->scalar_pass)
+                       assign_arr_base(ctx, arr, precolor, nprecolor);
 
                unsigned base = arr->reg;
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to