gpt4 book ai didi

ubuntu - 是否可以在 Vulkan 中的实例之间共享帧缓冲区对象?

转载 作者:行者123 更新时间:2023-12-04 18:55:57 31 4
gpt4 key购买 nike

我正在尝试编写一个简单的合成器。在 Vulkan 中是否可以从不同的实例访问数据对象(帧缓冲区、图像或缓冲区)。 (即将句柄传递给另一个进程)。我正在使用 Ubuntu,并试图在不使用 X、wayland 等的情况下做到这一点。谢谢

最佳答案

Vulkan 对象被分组到一个严格的层次结构中。用于创建对象的对象拥有它,一般来说,如果您销毁用于创建它的对象,则创建的对象将无法再使用。

例如,vkAllocateMemory需要 VkDevice .该内存对象是从该逻辑设备分配的,并且绑定(bind)到它。如果该设备被破坏,您将无法再使用它。如果该设备不属于您的应用程序,您也不能使用它。

话虽如此,KHR_external_memory扩展(及其变体系列)允许 Vulkan 访问设备之间的内存。这甚至可以跨进程工作;您可以有两个进程来创建本地逻辑设备,这些设备使用具有相同 VkPhysicalDeviceIDPropertiesKHR::deviceUUID 的物理设备。 .这些逻辑设备可以彼此共享内存,但这需要使用一个特殊的结构来指示它将被共享。

请注意,此共享仅适用于通过 deviceUUID 表示同一物理设备的逻辑设备。 .

关于ubuntu - 是否可以在 Vulkan 中的实例之间共享帧缓冲区对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47088580/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com