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
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
pAttributes
is an opaqueNvSciBufAttrList
describing 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 set to 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.