Mesa (main): panfrost: Start splitting the panfrost pool logic

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 5 05:56:29 UTC 2021


Module: Mesa
Branch: main
Commit: deb4074a54b2da9a8667ebac8cc99eb1d7610d77
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=deb4074a54b2da9a8667ebac8cc99eb1d7610d77

Author: Boris Brezillon <boris.brezillon at collabora.com>
Date:   Thu Jul  1 19:26:56 2021 +0200

panfrost: Start splitting the panfrost pool logic

The Gallium and Vulkan drivers will soon use different memory pool
implementation, but some pieces in libpanfrost depend on pan_pool. Let's
split the implementation so we have common bits still available while
letting the drivers implement what really matters: the allocation logic.

All the generic pieces are prefixed pan_pool, and what will become the
gallium implementation is prefixed panfrost_pool. We'll then duplicate
the panfrost_pool bits in panvk and prefix it with panvk_pool, and
implementations will start diverging from there.

Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11695>

---

 src/gallium/drivers/panfrost/pan_assemble.c  |  12 +--
 src/gallium/drivers/panfrost/pan_blit.c      |   9 ++-
 src/gallium/drivers/panfrost/pan_cmdstream.c | 108 ++++++++++++++-------------
 src/gallium/drivers/panfrost/pan_compute.c   |   6 +-
 src/gallium/drivers/panfrost/pan_context.c   |  28 +++----
 src/gallium/drivers/panfrost/pan_context.h   |  10 +--
 src/gallium/drivers/panfrost/pan_job.c       |  22 +++---
 src/gallium/drivers/panfrost/pan_job.h       |   4 +-
 src/gallium/drivers/panfrost/pan_screen.c    |  16 +++-
 src/gallium/drivers/panfrost/pan_screen.h    |   7 ++
 src/panfrost/lib/pan_blitter.c               |  87 +++++++++++----------
 src/panfrost/lib/pan_blitter.h               |   4 +-
 src/panfrost/lib/pan_device.h                |   6 +-
 src/panfrost/lib/pan_indirect_dispatch.c     |  12 +--
 src/panfrost/lib/pan_indirect_draw.c         |  35 +++++----
 src/panfrost/lib/pan_indirect_draw.h         |   3 +-
 src/panfrost/lib/pan_pool.c                  |  36 +++++----
 src/panfrost/lib/pan_pool.h                  |  87 ++++++++++++++-------
 src/panfrost/lib/pan_scoreboard.c            |   2 +-
 src/panfrost/vulkan/panvk_cmd_buffer.c       |  98 ++++++++++++------------
 src/panfrost/vulkan/panvk_device.c           |   3 -
 src/panfrost/vulkan/panvk_meta.c             |  12 +++
 src/panfrost/vulkan/panvk_private.h          |  19 +++--
 src/panfrost/vulkan/panvk_varyings.c         |   2 +-
 24 files changed, 351 insertions(+), 277 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=deb4074a54b2da9a8667ebac8cc99eb1d7610d77


More information about the mesa-commit mailing list