Skip to content

Draft: panvk: Cleanup of the vulkan driver

Boris Brezillon requested to merge bbrezillon/mesa:panvk-cleanup into main

What does this MR do and why?

This is an attempt at cleaning up panvk to see if we can share more code between Bifrost and Valhall(JM)/Valhall(CSF).

Here is a list of things I'd like to achieve before considering this MR ready for merging:

  • Split code in separate source files based on the Vk oject they handle (similar to how NVK is organized), and eventually get rid of panvk_private. This should help diverging based on the GEN only on some aspects (descriptor sets for Bifrost vs Valhall, command buffer and queues for JM vs CSF, ...) while keeping the rest common
  • Get rid of fields that can be extracted from the vk_xx objects we inherit from
  • Use vk_dynamic_graphics_state where we can
  • Use vk_meta so we can get rid of panvk_vX_meta_xxx instead of extending it to make it work on Valhall/CSF
  • Split things so we can share base structures/helpers for CSF/JM, Bifrost/Valhall

/cc @nanokatze @gfxstrand @kusma @marysaka @rmckeever

Edited by Boris Brezillon

Merge request reports