VK_EXT_queue_family_foreign

Other Extension Metadata

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

Description

This extension defines a special queue family, 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 VK_QUEUE_FAMILY_EXTERNAL_KHR, defined in VK_KHR_external_memory. The key differences between the two are:

  • The queues represented by VK_QUEUE_FAMILY_EXTERNAL_KHR must share the same physical device and the same driver version as the current VkInstance. 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 VK_QUEUE_FAMILY_EXTERNAL_KHR. Support for VK_QUEUE_FAMILY_FOREIGN_EXT is more restrictive.
  • Applications should expect transitions to/from VK_QUEUE_FAMILY_FOREIGN_EXT to be more expensive than transitions to/from VK_QUEUE_FAMILY_EXTERNAL_KHR.

New Enum Constants

  • VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME
  • VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION
  • VK_QUEUE_FAMILY_FOREIGN_EXT

Version History

  • Revision 1, 2017-11-01 (Lina Versace)
    • Squashed internal revisions