NvSciSync Object Import into Vulkan SC
Import NvSciSyncObj to VkFence
Use the vkImportFenceSciSyncObjNV API to import an
NvSciSync object into Vulkan SC address space. This API takes a valid
sync point-backed NvSciSyncObj as a parameter to
VkImportFenceSciSyncInfoNV::handle. The application must specify
VkImportFenceSciSyncInfoNV::handleType to
VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV.
Import NvSciSyncObj to VkSemaphore
Use the vkCreateSemaphoreSciSyncPoolNV API to import an
NvSciSync object into the Vulkan SC address space. This API accepts a
valid sysmem semaphore-backed NvSciSyncObj as a parameter to
VkSemaphoreSciSyncPoolCreateInfoNV::handle. Once completed successfully,
this API returns a valid VkSemaphoreSciSyncPoolNV object as a pool for
VkSemaphore objects, because an NvSciSyncObj may
represent more than one sysmem semaphore. Application can later retrieve
the VkSemaphore object from the VkSemaphoreSciSyncPoolNV
object.
For both VkFence and VkSemaphore imports, Vulkan SC will
only create a new reference on the imported NvSciSync object; the
application must use the NvSciSync API to destroy the
NvSciSync object.