VK_AMD_shader_ballot Support For RADV, Lets DOOM Use AMD-Optimized Code Path
Written by Michael Larabel in Radeon on 8 August 2017 at 06:09 AM EDT. 11 Comments
RADEON --
Connor Abbott who has been working for Valve over the summer on the RADV Vulkan driver sent out one of his last patch series before going back to school: VK_AMD_shader_ballot for RADV. This extension paired with other work allows DOOM on Wine to run through an AMD-optimized Vulkan code path.

Connor has been working on VK_AMD_shader_ballot as the AMD-developed extension building off VK_EXT_shader_subgroup_ballot and VK_EXT_shader_subgroup_vote extensions. This ended up being a hairy extension to implement, but when VK_AMD_shader_ballot is present paired with some other mostly trivial AMD extensions, the DOOM game using Vulkan on Wine will use a different code path with shaders tuned for AMD hardware.

He hasn't yet tested these new code paths for DOOM to look at the performance impact, but RADV core developers Bas or David will likely be doing so in time. The AMD shader ballot support does depend upon some AMDGPU LLVM changes just merged into the SVN code for LLVM 6.0 (not the imminent 5.0 release). These 15 new patches also depend upon Connor's previous VK_EXT_shader_subgroup_vote and VK_EXT_shader_subgroup_ballot patches.

Connor is sadly going back to school this week so it will be the last of his major Mesa contributions for now, likely not until next summer again. But this nearly two thousand lines of new RADV code can be found via Mesa-dev for review.
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Related Radeon News
Popular News