panfrost: Create a blitter library to replace the existing preload helpers
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 13 Apr 2021 10:16:41 +0000 (12:16 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 13 Apr 2021 18:06:37 +0000 (18:06 +0000)
commit8ba2f9f698584d20830ef31bbc2fb8a6635c8314
treea210cff781e382a044bb3b05a1c112871b6c7cee
parenta11807b795ac8ea7bff335e0a2e5d12d591f7599
panfrost: Create a blitter library to replace the existing preload helpers

pan_blitter.c is meant to replace the pan_blit.c which currently
provides helpers to preload the tile buffer. Some changes
are worth mentioning:

- we use pre-frame DCDs on Bifrost (Midgard still uses a tiler job
  to preload the tile buffer)
- the blit shaders are now stored in a hash table and created lazily
- we now cache blend shader binaries and blit RSDs too

This library will soon be extended to cover regular blits.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10033>
src/panfrost/Makefile.sources
src/panfrost/lib/meson.build
src/panfrost/lib/pan_blitter.c [new file with mode: 0644]
src/panfrost/lib/pan_blitter.h [new file with mode: 0644]
src/panfrost/lib/pan_device.h