我有一个VkInstance
的应用程序。此外,我具有相同的物理设备索引,但具有不同的VkPhysicalDevice
个对象,因此具有不同的VkDevice
个对象。使用多个逻辑设备分享VkBuffer
或VkImage
的最简单,最正确的方法是什么?
答案 0 :(得分:1)
我没有这样做,但可能尝试使用 VK_KHR_external_memory 扩展程序。它允许您从Vulkan内存对象导出非Vulkan句柄,并在缓冲区或图像创建期间提供此类外部内存。
这样您就可以创建一个可以在逻辑设备之间“共享”的内存对象。在一个设备中以正常方式创建缓冲区/图像和内存对象。然后导出此内存以获取非Vulkan句柄。然后,在其余的逻辑设备中,指定您希望将外部存储器用于缓冲区/图像。
[编辑]
但要共享内存对象您必须使用规范所指示的相同物理设备:
共享内存时只能使用相同的具体物理设备