Skip to content

panvk: Add support for Incremental Rendering in v10+

What does this MR do and why?

Port of the Incremental Rendering implementation in Panfrost to PanVK. It works in fundamentally the same way, but is slightly different due to PanVK using multiple subqueues and supporting layered rendering.

The implementation passes following two VulkanCTS tests that hit incremental rendering: dEQP-VK.api.command_buffers.record_many_draws_primary_2 dEQP-VK.api.command_buffers.record_many_draws_secondary_2

The following needs to be addressed as well:

  • Add support for layered rendering to the oom handler
  • Add support for simultaneous reuse to both draw and the oom handler
  • Fix PANVK_DEBUG=trace with regards to setting the handler to 0x0.
  • Allocate regs_save buffer per-queue.
  • Move shared code with panfrost into lib Not that much to share.

/cc @bbrezillon @lfrb @marysaka

Edited by Lars-Ivar Hesselberg Simonsen

Merge request reports

Loading