- Last Modified Date
-
2017-11-01
- IP Status
-
No known IP claims.
- Contributors
-
-
Lina Versace, Google
-
James Jones, NVIDIA
-
Faith Ekstrand, Intel
-
Jesse Hall, Google
-
Daniel Rakos, AMD
-
Ray Smith, ARM
-
This extension defines a special queue family,
ename:VK_QUEUE_FAMILY_FOREIGN_EXT, which can be used to transfer ownership
of resources backed by external memory to foreign, external queues.
This is similar to ename:VK_QUEUE_FAMILY_EXTERNAL_KHR, defined in
apiext:VK_KHR_external_memory
.
The key differences between the two are:
-
The queues represented by ename:VK_QUEUE_FAMILY_EXTERNAL_KHR must share the same physical device and the same driver version as the current slink:VkInstance. ename:VK_QUEUE_FAMILY_FOREIGN_EXT has no such restrictions. It can represent devices and drivers from other vendors, and can even represent non-Vulkan-capable devices.
-
All resources backed by external memory support ename:VK_QUEUE_FAMILY_EXTERNAL_KHR. Support for ename:VK_QUEUE_FAMILY_FOREIGN_EXT is more restrictive.
-
Applications should expect transitions to/from ename:VK_QUEUE_FAMILY_FOREIGN_EXT to be more expensive than transitions to/from ename:VK_QUEUE_FAMILY_EXTERNAL_KHR.