今天,Vulkan API 1.3.285 规范修订版发布,其中包括一些修复/澄清,以及 Valve 工程开发的另一个新扩展。
Valve Linux 图形团队的 Hans-Kristian Arntzen 因其在 Vulkan 上开发 Direct3D 12 的 VKD3D-Proton 而闻名,他就是负责这项新扩展的人:VK_MESA_image_alignment_control.VK_MESA_image_alignment_control 扩展用于让应用程序/游戏请求图像的对齐范围小于实现所需的范围。
扩展文本确实证实了 VK_MESA_image_alignment_control 的动机确实是围绕 API 分层,就像 VKD3D-Proton 一样:
“在某些 API 分层用例(如 D3D12)中,能够控制对齐方式是有益的,因为放置资源的某些对齐方式保证会得到支持,而模拟这种期望则需要对分配进行不必要的填充”。
新的 VK_MESA_image_alignment_control 扩展是今天发布的 Vulkan 1.3.285 的主要新功能。
在 API 规范更新后的过去一小时内,Hans-Kristian Arntzen 已经为 Radeon RADV 驱动程序开启了实现 VK_MESA_image_alignment_control 的合并请求。Arntzen 在其中补充道
“这实现了 VK_MESA_image_alignment_control,可让我们避免 D3D12 放置资源的分配膨胀,尤其是在喜欢使用 256 KiB 对齐的 RDNA3 上。D3D12 要求放置的资源为 64 KiB,为了解决这个问题,我们不得不进行不必要的填充分配。同样,在保证 4 KiB 对齐的情况下,也有相应的规则”。
这应该很快就会登陆 Mesa,现在还有一个在 VKD3D-Proton 中使用该扩展的拉取请求。
转自 Vulkan 1.3.285 Released With New Extension From Valve VKD3D-Proton Developer – Phoronix