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 specifyVkImportFenceSciSyncInfoNV::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.