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 libNot that much to share.
Edited by Lars-Ivar Hesselberg Simonsen