MESA的开源RADV驱动程序现已在SteamDeck上添加强制着色器重新编译
致力于开源RADV“RadeonVulkan”驱动程序的MESA团队添加了一个新的“旋钮”功能,以解决SteamDeck上的着色器编译错误,
最近,开源MesaRADVVulkan驱动程序的开发取得了显着的进步,特别是在全面提高性能方面,以及多项优化和修复,以便为用户提供最佳体验。它们正在成为AMD官方Vulkan驱动程序的绝佳替代品,现在MESA开发人员在SteamDeck手持设备上的错误修复方面已经向前迈出了一步。
Phoronix报告称,最新版本的驱动程序中添加了一些新的“DRIRC选项”,其主要目的是在需要向后移植着色器编译器修复时强制重新编译。这主要针对Valve的SteamDeck,它依赖于预编译的着色器来防止加载时间过长和性能低下。以下是ValveLinux图形驱动程序的SamuelPitoiset对合并代码的解释:
在SteamDeck上,着色器经过预编译以获得更好的性能(减少卡顿、减少CPU使用率等)。但是,当需要向后移植编译器修复时,目前还没有办法正确处理这个问题。
这引入了3个drirc选项radv_override_{graphics,compute,ray_tracing}_shader_version以便强制驱动程序在需要时重新编译管道。
默认情况下,所有管线的着色器版本均为0。当为特定游戏设置一个drirc时,RADV将仅重新编译所有管道一次,并包含编译器修复(因为管道密钥会不同)。
虽然这一变化看起来很小,但它最终将有助于修复Linux桌面和SteamDeck上的着色器编译错误。随着最近的更新,MesaRADVVulkan驱动程序的当前状态与AMD官方“AMDVLK”驱动程序的比较将非常引人注目。