Vulkan 1.4.315 发布更新,附带新的 VK_EXT_zero_initialize_device_memory 扩展

上周发布了 Vulkan 1.4.315 规范更新,并附带新的 VK_EXT_zero_initialize_device_memory 扩展,允许设备内存分配为零初始化。

VK_EXT_zero_initialize_device_memory 扩展由 Valve、AMD、Collabora、Igalia、Arm 和 LunarG 的工程师共同开发。由于 Vulkan 默认不保证设备内存(GPU vRAM)清零,VK_EXT_zero_initialize_device_memory 的目的是更有效地确保设备内存的零初始化。

到目前为止,那些想要强制设备内存中的 Vulkan 内存分配为零初始化的用户必须执行填充缓冲区或类似命令。但对于某些 Vulkan 驱动程序/硬件,出于不暴露先前内存内容的安全考虑,内存可能已经清零。VK_EXT_zero_initialize_device_memory 旨在更高效地确保设备内存在需要时清零。

Valve 的 Hans-Kristian Arntzen 和 Mike Blumenkrantz 正在为此努力,这也与他们在 VKD3D-Proton / Steam Play 上的努力息息相关。VK_EXT_zero_initialize_device_memory 扩展规范详细说明了以下内容:

此扩展还可用于 API 分层和移植工作,其中零内存行为可能比 Vulkan 更严格。不同的操作系统平台在这方面的行为也大相径庭,这导致实现需要采用变通方法来掩盖这些问题。如果存在一个扩展,能够明确分配行为,我们希望为 Vulkan 打造一个更强大的生态系统。

随着 Vulkan 1.4.315 的发布,Mesa Vulkan 驱动程序已经开始实现对 VK_EXT_zero_initialize_device_memory 的支持。已与 Mesa 25.2 合并的 Radeon RADV和 NVIDIA NVK驱动程序也已支持此扩展。这是 Mesa 中首批支持此扩展的两个驱动程序,希望其他 Mesa Vulkan 驱动程序也能尽快跟进。

昨天已开启此拉取请求 ,请求 VKD3D-Proton 使用 VK_EXT_zero_initialize_device_memory。

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/58124.html

(0)

相关推荐

发表回复

登录后才能评论