RADV Now Uses Common Sync Framework For More Mesa Driver Code Sharing
Mesa's Radeon Vulkan driver "RADV" now is making use of the common synchronization framework started by Intel "ANV" Vulkan driver developers to allow for more code sharing between the drivers.
A few months back Jason Ekstrand and other Intel developers began working on the common synchronization code for Mesa's Vulkan drivers. Due to complexities of VK_KHR_timeline_semaphore in particular, it was decided to pursue a common solution to avoid extra per-driver complexities and would help in the bring-up of future drivers.
Bas Nieuwenhuizen has been working on adapting the RADV driver the past month to use that common synchronization code. In this MR he found the performance costs to be about the same as RADV's existing custom code with the exception of QueueWaitIdle being slightly more expensive but not a cause for concern.
The code was merged on New Year's Eve for Mesa 22.0 and the immediate benefit was around 1,500 lines of code removed from the RADV driver thanks to this common solution.
A few months back Jason Ekstrand and other Intel developers began working on the common synchronization code for Mesa's Vulkan drivers. Due to complexities of VK_KHR_timeline_semaphore in particular, it was decided to pursue a common solution to avoid extra per-driver complexities and would help in the bring-up of future drivers.
Bas Nieuwenhuizen has been working on adapting the RADV driver the past month to use that common synchronization code. In this MR he found the performance costs to be about the same as RADV's existing custom code with the exception of QueueWaitIdle being slightly more expensive but not a cause for concern.
The code was merged on New Year's Eve for Mesa 22.0 and the immediate benefit was around 1,500 lines of code removed from the RADV driver thanks to this common solution.
6 Comments