RADV Reworking Pipeline Emitting To Improve CPU Usage
While using Vulkan lowers the CPU utilization compared to OpenGL, in our testing of NVIDIA versus the open-source Radeon drivers we generally have found the red team's drivers to consume more CPU resources. Thus it's good to hear that RADV co-conspirator Bas Nieuwenhuizen is working on reworking how this Radeon Vulkan driver handles pipeline emitting.
The end result so far for at least Dota 2 on Vulkan is a minor CPU improvement.
Nieuwenhuizen noted with 20 RADV patches, "This changes emitting pipelines to pregenerate the PM$ sequences to bind the pipeline at pipeline creation time, so we can just memcpy it in the command buffer. This gives minor CPU improvements on dota2."
As part of this code refactoring he also made some other structural improvements to this Mesa-based Radeon Vulkan driver.
While the CPU benefit right now just appears to be minor, no Vulkan CTS regressions are reported. It will be interesting to see what more RADV will optimize and add for next quarter's Mesa 18.1 release with the healthy competition thanks to the newly-opened AMDVLK driver.
The end result so far for at least Dota 2 on Vulkan is a minor CPU improvement.
Nieuwenhuizen noted with 20 RADV patches, "This changes emitting pipelines to pregenerate the PM$ sequences to bind the pipeline at pipeline creation time, so we can just memcpy it in the command buffer. This gives minor CPU improvements on dota2."
As part of this code refactoring he also made some other structural improvements to this Mesa-based Radeon Vulkan driver.
While the CPU benefit right now just appears to be minor, no Vulkan CTS regressions are reported. It will be interesting to see what more RADV will optimize and add for next quarter's Mesa 18.1 release with the healthy competition thanks to the newly-opened AMDVLK driver.
