mesa/src/freedreno
Connor Abbott e19f112435 ir3/ra: Fix array parallelcopy confusion
With array registers, there are two num's we care about:

1. The base num that the whole array starts at (->array.base)
2. The num that the instruction uses, plus possibly an indirect offset
   (->num or ->array.offset)

For parallel copies we always copy the whole array, so (2) is irrelevant
here. For phis and parallel copies inserted for phis, we used
assign_reg() which assigned ->array.base, but we forgot about this when
constructing our own parallel copies for live range splitting, just
setting ->num instead. The parallel copy lowering was also inconsistent
here, using ra_reg_get_num() (which looks at ->array.base for arrays)
for sources but looking at ->num directly for destinations. This makes
everything use ->array.base consistently.

While we're here, make sure to remove IR3_REG_SSA from liveout copies to
make sure printing works correctly.

Fixes: 0ffcb19 ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11422>
2021-06-16 22:45:13 +00:00
..
.gitlab-ci freedreno/afuc: Use emulator to extract jmptbl 2021-05-31 23:34:43 +00:00
afuc freedreno/afuc: Print uintptr_t with PRIxPTR 2021-06-02 03:57:20 +00:00
ci ci: Unify {BARE_METAL,LAVA}_TEST_SCRIPT environment 2021-06-15 14:02:44 +02:00
common freedreno: Move pkt parsing helpers to common 2021-05-31 23:34:43 +00:00
computerator nir: Rename WORK_GROUP (and similar) to WORKGROUP 2021-06-07 22:34:42 +00:00
decode freedreno: Move pkt parsing helpers to common 2021-05-31 23:34:43 +00:00
drm util/queue: add a global data pointer for the queue object 2021-06-16 15:10:09 -04:00
drm-shim freedreno/drm-shim: keep GEM buffers page-aligned 2021-06-14 17:30:01 +00:00
ds freedreno: Add perfetto renderpass support 2021-05-10 15:34:07 +00:00
fdl freedreno/fdl: Re-indent 2021-04-17 15:38:56 +00:00
ir2 freedreno/ir2: Re-indent 2021-04-17 15:38:56 +00:00
ir3 ir3/ra: Fix array parallelcopy confusion 2021-06-16 22:45:13 +00:00
isa util: add util_sign_extend 2021-04-27 07:04:07 +00:00
perfcntrs freedreno: Fix fdperf flush 2021-06-09 19:08:53 -07:00
registers freedreno/registers: define REG_DSI_CPHY_MODE_CTRL 2021-06-15 12:42:57 -04:00
rnn freedreno/headergen2: Fix compile warnings with CP_DRAW_INDIRECT_MULTI 2021-05-31 23:34:43 +00:00
vulkan turnip: Copy command buffers to deferred submit request 2021-06-15 02:16:21 +00:00
.clang-format freedreno: Be more strict about QUERY_AVAILABLE to simplify the code. 2021-06-15 20:42:26 +00:00
.dir-locals.el freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
.editorconfig freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
Android.common.mk android: freedreno/common: add libmesa_git_sha1 static dependency 2020-09-07 20:02:45 +00:00
Android.drm.mk freedreno/drm: android: add libfreedreno_registers static dependency 2020-05-09 16:19:14 +00:00
Android.ir2.mk android: freedreno: move a2xx disasm out of gallium 2020-08-02 21:40:21 +02:00
Android.ir3.mk android: freedreno/ir3: Switch over to new encoder/decoder 2021-01-17 21:57:05 +01:00
Android.isa.mk android: freedreno/hw/isa: Add description of ir3 ISA 2021-01-17 21:57:05 +01:00
Android.mk android: freedreno/hw/isa: Add description of ir3 ISA 2021-01-17 21:57:05 +01:00
Android.perfcntrs.mk freedreno: android: fix build of perfcounters. 2020-02-07 16:34:49 +00:00
Android.registers.mk android: freedreno: Another build fix 2020-08-19 11:57:17 +00:00
Makefile.sources android: freedreno/hw/isa: Add description of ir3 ISA 2021-01-17 21:57:05 +01:00
meson.build freedreno: Add freedreno pps driver 2021-05-10 15:34:07 +00:00