mesa/src/freedreno
Danylo Piliaiev 4b5f0d98fd tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear
On-GPU LRZ direction tracking allows LRZ to support secondary cmdbufs,
reusing LRZ between renderpasses, and in future to support LRZ when
VK_KHR_dynamic_rendering is used.

With on-gpu tracking we have to be careful keeping LRZ state in sync
with underlying depth image, which means we should invalidate LRZ
when underlying image is changed or the view of image is different
from previous renderpass.

All of this resulted in LRZ logic being thinly spread through the code,
making it hard to understand. So most of it was moved to tu_lrz.c.

For more details on past and new LRZ features see comment at the
top of tu_lrz.c.

Note about blob:
- Blob is much more happy to do LRZ_FLUSH, it flushes at the start
  of the renderpass, after binning, and at the end of the renderpass.
- Blob seem not to care about changes in depth image done via
  vkCmdCopyImage.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6347

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16251>
2022-06-28 17:23:16 +00:00
..
.gitlab-ci a4xx: add emission of compute state, and compute dispatch 2022-03-05 03:21:05 -05:00
afuc freedreno: remove stale makefile 2022-06-02 09:13:23 +00:00
ci ci/turnip: Trim the a630 VK run a bit. 2022-06-27 22:38:54 +00:00
common tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear 2022-06-28 17:23:16 +00:00
computerator freedreno/a6xx: Add EARLYPREAMBLE flag to all a6xx_sp_xs_ctrl_reg0 2022-05-18 11:17:47 +00:00
decode freedreno: Replace A6XX_IBO with A6XX_TEX_CONST 2022-02-28 23:33:22 +00:00
drm freedreno/drm/virtio: Don't try to mmap imported bo's 2022-05-12 22:12:24 +00:00
drm-shim freedreno/drm-shim: Better iova handling 2022-05-02 19:50:33 +00:00
ds freedreno/perfetto+fdperf: Set SYSPROF param 2022-03-04 16:06:34 -08:00
fdl tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear 2022-06-28 17:23:16 +00:00
ir2 freedreno/ir2: Re-indent 2021-04-17 15:38:56 +00:00
ir3 ir3: Fix vectorizer condition for SSBOs 2022-06-23 10:46:31 +00:00
isa ir3: Implement and document ldc.k 2022-03-17 12:15:45 +00:00
perfcntrs freedreno/fdperf: support dumping counters 2022-05-14 22:18:52 +00:00
registers tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear 2022-06-28 17:23:16 +00:00
rnn freedreno: Move the headergen2 test to be meson unit tests. 2021-10-01 23:16:04 +00:00
vulkan tu: Overhaul LRZ, implement on-GPU dir tracking and LRZ fast-clear 2022-06-28 17:23:16 +00:00
.clang-format freedreno: Add some options to .clang-format 2021-07-12 20:57:21 +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
meson.build freedreno: support lua54 2021-10-26 00:33:31 +00:00