C Specification
To export a NvSciBufObj from memory, add a
VkExportMemorySciBufInfoNV structure to the pNext chain of the
VkMemoryAllocateInfo structure.
The VkExportMemorySciBufInfoNV structure is defined as:
// Provided by VK_NV_external_memory_sci_buf
typedef struct VkExportMemorySciBufInfoNV {
VkStructureType sType;
const void* pNext;
NvSciBufAttrList pAttributes;
} VkExportMemorySciBufInfoNV;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
pAttributesis an opaqueNvSciBufAttrListdescribing the attributes of the NvSciBuf object that will be exported.
Description
If VkExportMemoryAllocateInfo is not present in the same pNext
chain, this structure is ignored.
If the pNext chain of VkMemoryAllocateInfo includes a
VkExportMemoryAllocateInfo structure with a handleType mask
containing the VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV bit, but
either VkExportMemorySciBufInfoNV is not included in the pNext
chain, or it is included but pAttributes is NULL,
vkAllocateMemory will return VK_ERROR_INITIALIZATION_FAILED.
The pAttributes parameter must be a reconciled
NvSciBufAttrList.
NvSciBufAttrList consists of both public and private attributes.
It is the application’s responsibility to set the public attributes.
To set the private attributes, the application must use the
vkGetPhysicalDeviceSciBufAttributesNV command.
The NvSciBufAttrList is then reconciled using the
NvSciBuf APIs.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.