RADV Driver Patches Revive shaderStorageImageMultisample - Useful For DXVK
Samuel Pitoiset of Valve's open-source Linux graphics driver team has posted a set of patches implementing support for shaderStorageImageMultisample. These patches are based upon work started months earlier by David Airlie and important for DXVK and for other Vulkan use-cases.
The nearly 400 lines of code enable Vulkan shaderStorageImageMultisample for Polaris GFX8 hardware and newer with this open-source Radeon Vulkan driver. The shaderStorageImageMultisample support is important for RADV since it's the only blocker remaining for the DXVK project to fully support Shader Model 5.0 in its effort of mapping Direct3D 11 features atop Vulkan.
Besides squaring off the SM5 support for DXVK, the Vulkan feature is needed for programs like the Beetle PSX emulator for enabling multi-sample anti-aliasing (MSAA) support.
The patch series is also notable as besides textureCompressionASTC_LDR (Adaptive Scalable Texture Compression), shaderStorageImageMultisample is the only other VkPhysicalDeviceFeature not currently supported by the RADV driver.
This shader storage image multi-sample work for RADV will hopefully be merged with plenty of time for Mesa 19.0.