Skip to content

panfrost: Extend the pan_blitter lib to actually support blits

Boris Brezillon requested to merge bbrezillon/mesa:panfrost-blitter into main

This series is an attempt at replacing u_blitter by our own blitter library so we can optimize a few things:

  • no PIPE state changes (should save a few CPU cycles)
  • for multi-layer blits, we don't re-emit the texture, sampler and viewport descriptors for each blit
  • no vertex jobs: we forge the position array and pass it directly to the tiler jobs

But most importantly, it allows some code sharing with the Vulkan driver, which needs such a blit library anyway.

v2 keeps u_blitter() around and condition pan_blit() usage on PAN_MESA_DEBUG=panblit.

TODO:

  • Perf analysis to see the impact of this u_blitter -> pan_blitter transition
  • Real use case tests (I only made sure CI was happy, but I fear it doesn't tests all cases)

/cc @icecream95

Edited by Boris Brezillon

Merge request reports

Loading