我有一个带有单个VkInstance
. 我也有相同的物理设备索引,但不同的VkPhysicalDevice
对象,因此不同的VkDevice
对象。共享VkBuffer
或VkImage
与多个逻辑设备共享的最简单和最正确的方法是什么?
我没有这样做,但也许可以尝试使用VK_KHR_external_memory扩展。它允许您从 Vulkan 内存对象导出非 Vulkan 句柄,并在缓冲区或图像创建期间提供此类外部内存。
这样您就可以创建一个可以在逻辑设备之间“共享”的内存对象。在一个设备中,您可以以正常方式创建缓冲区/图像和内存对象。然后您导出此内存以获得非 Vulkan 句柄。然后,在您的其余逻辑设备中,您指定您希望将外部存储器用于缓冲区/图像。
[编辑]
但是要共享内存对象,您必须使用规范指示的相同物理设备:
共享内存时只能使用相同的具体物理设备
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句