UPSTREAM: ir3/lower_pcopy: Set entry->done in the swap loop

We process all the remaining copy entries one-at-a-time when emitting
swaps, so normally we wouldn't need to care about whether the entry is
done, except that we need to look at the other entries to split them up
and we need to skip this when the copy to be split has already been
processed.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5307
Fixes: 0ffcb19b9d9 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12747>
(cherry picked from commit f5f948826ae47f32e5bfaf46da84b8a1b44f6f7d)

BUG=b:198105154
TEST=run org.skia.skqp.SkQPRunner#gles_localmatriximagefilter

Signed-off-by: Rob Clark <robdclark@chromium.org>
Change-Id: Ied1346fb37d0729d13b4e064997a3ebde9b843db
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/mesa/+/3145058
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Fritz Koenig <frkoenig@chromium.org>
Commit-Queue: Fritz Koenig <frkoenig@chromium.org>
1 file changed