VK_NV_external_memory_sci_buf
{generated}/meta/{refprefix}VK_NV_external_memory_sci_buf.adoc
Other Extension Metadata
Last Modified Date
2022-04-12
Contributors
- Kai Zhang, NVIDIA
- Jeff Bolz, NVIDIA
- Jonathan McCaffrey, NVIDIA
- Daniel Koch, NVIDIA
Description
This extension enables an application to access external memory via
NvSciBufObj
.
To import a NvSciBufObj
to VkDeviceMemory, applications need to:
- Create an unreconciled
NvSciBufAttrList
viaNvSciBufAttrListCreate
() - Fill in the private attribute list via vkGetPhysicalDeviceSciBufAttributesNV()
- Fill in the public attribute list via
NvSciBufAttrListSetAttrs
() - Reconcile the
NvSciBufAttrList
viaNvSciBufAttrListReconcile
() - Create a
NvSciBufObj
viaNvSciBufObjAlloc
() - Import the
NvSciBufObj
to a VkDeviceMemory by chaining VkImportMemorySciBufInfoNV structure to the command vkAllocateMemory.
For details of the NvSciBuf
APIs and data structures, see the
NvStreams Documentation
.
Issues
1) What should we call this extension?
RESOLVED.
The external API is NvSciBuf
, but the Vulkan convention is to append
the vendor suffix at the end of an identifier.
Using NvSciBufNV
seems awkward, so we have chosen to use just the
SciBuf
portion of the name in Vulkan commands and tokens.
Since this is for interacting with memory objects allocated from outside
Vulkan, we use "external_memory" in the name, similar to
VK_KHR_external_memory_fd.
To avoid an explosion of extensions, we include the capability to import and
export memory in one extension but include separate features in case
implementations only implement (or safety certify) a subset.
2) What changed in revision 2?
RESOLVED.
The VkPhysicalDeviceExternalSciBufFeaturesNV struct was renamed to
VkPhysicalDeviceExternalMemorySciBufFeaturesNV to follow naming
conventions (previous names retained as aliases), and drop const on
pNext
pointer.
Version History
- Revision 1, 2022-04-12 (Kai Zhang, Daniel Koch)
- Internal revisions
- Revision 2, 2023-01-03 (Daniel Koch)
- fix the feature structure to address naming convention and cts autogeneration issues