[Mesa-dev] [PATCH 00/11] panfrost: Hierarchical tiling work

Alyssa Rosenzweig alyssa.rosenzweig at collabora.com
Fri Jun 14 17:04:32 UTC 2019

Midgard and Bifrost GPUs feature "hierarchical tiling", publicly
documented to varying degrees. Essentially, we're a regular tiler GPU,
but the tile size can vary (and that variance is in driver control).

This series adds some explanation how hierarchical tiling works from the
drivers' perspective, in order to demystify the tiler data structures we
touch. With that explanation, we are then able to use these bits to
compute the tiler data structure sizes ourselves, correctly supplying
the corresponding sizes in the framebuffer descriptor.

Once job management is tamed, we'll use these sizes to statically
allocate the polygon list on a per-framebuffer basis.

Alyssa Rosenzweig (11):
  panfrost: Integrate kernel names for tiler FBD
  panfrost: Add notes about the tiler allocations
  panfrost: Rename tiler fields per tiler research
  panfrost: Document tile size heuristic
  panfrost: Add pan_tiler.h header
  panfrost: Calculate polygon list header size
  panfrost: Use polygon list header size computation
  panfrost: Compute and use polygon list body size
  panfrost: Sanity check tiler polygon list size
  panfrost: Rename misc_0 -> tiler_polygon_list
  panfrost: Stub out hierarchy mask selection

 .../drivers/panfrost/include/panfrost-job.h   |  52 +++-
 src/gallium/drivers/panfrost/meson.build      |   3 +-
 src/gallium/drivers/panfrost/pan_context.c    | 101 +++---
 src/gallium/drivers/panfrost/pan_context.h    |   3 +-
 src/gallium/drivers/panfrost/pan_drm.c        |   2 +-
 src/gallium/drivers/panfrost/pan_tiler.c      | 291 ++++++++++++++++++
 src/gallium/drivers/panfrost/pan_tiler.h      |  44 +++
 .../drivers/panfrost/pandecode/decode.c       |  50 ++-
 8 files changed, 457 insertions(+), 89 deletions(-)
 create mode 100644 src/gallium/drivers/panfrost/pan_tiler.c
 create mode 100644 src/gallium/drivers/panfrost/pan_tiler.h


More information about the mesa-dev mailing list