微软近日推出了首个Vulkan扩展——VK_MSFT_layered_driver,旨在帮助Vulkan加载程序更好地处理驱动程序分层。这个扩展是Vulkan 1.3.264规范更新的一部分。 VK_MSFT_layered_driver的主要功能是根据特定平台的标准对物理设备进行排序。例如,在Windows平台上,加载程序使用LUID将物理设备按与DXGI适配器相同的顺序排列。然而,同一个物理设备可能有多个Vulkan驱动程序提供支持,例如,一个是“本机”供应商提供的实现,另一个是在不同的API之上的“分层”实现。 分层实现的示例包括在D3D12上分层的VulkanOn12(又名Dozen)和在Metal上分层的MoltenVK。在一个物理设备有两个可能的驱动程序的系统上,它们之间的排序顺序目前尚未确定。理想的排序顺序应该是将任何本机/未分层的驱动程序放在任何分层驱动程序之前进行排序,因为分层本身会增加开销,因此本机驱动程序将提供更多的功能和更高的性能。 此外,Vulkan规范更新还引入了另一个新扩展——VK_EXT_frame_boundary。这个扩展可以帮助工具/调试器在非trivial场景中按帧分组队列提交,由谷歌、Imagination、Arm、英伟达和华为的工程师完成。
评论