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.