Radeon "RADV" Vulkan Driver Adds Sparse Memory Support - Will Help Some D3D12 Games
Vulkan sparse memory allows for resources to be non-contiguous, re-bound to different memory allocations over its lifetime, and relaxed descriptor requirements. All of the Vulkan sparse memory details can be found via this chapter of the Vulkan API specification.
Last month support for sparse images/textures was implemented into the ACO compiler back-end as well as there being the capabilities within AMDGPU LLVM and NIR support.
With Mesa 21.0-devel as of this Monday morning since this merge, sparseResidencyBuffer, sparseResidencyImage2D, and sparseResidencyAliased should be working for Polaris/GFX8 and newer. This includes developers having tested it on GFX10/Navi as well.
The sparse memory support is important for the likes of VKD3D-Proton 2.1 for Direct3D 12 sparse texture support to work which is needed for newer games like Assassin's Creed: Valhalla. This works already with the NVIDIA Vulkan driver while now RADV should work too.