radv: vulkan: track ownership of WSI images.

Merged Bas Nieuwenhuizen requested to merge bnieuwenhuizen/mesa:wsi-implicit-sync-liveness into master

Normally, when we enable VK_EXT_descriptor_indexing we switch to a global BO list in radv. However, that means every submission has every WSI image participate in implicit sync. This of course is an issue because it also includes the image we currently want to present, making things jittery and sometimes leaving the GPU idle.

This adds ownership tracking of those WSI images so they are only added to submissions between the relevant vkAcquireNextImageKHR and vkQueuePresentKHR pairs. This reduces this issue significantly.

However, as amdgpu tracks implicit sync by BO and not by submit, we still have a problem with async compute as it is still serializing GPU work within a single frame. Sadly that needs a significant kernel rework.

Edited by Bas Nieuwenhuizen

Merge request reports