C Specification

To import a fence payload from a NvSciSyncObj handle, call:

// Provided by VK_NV_external_sci_sync, VK_NV_external_sci_sync2
VkResult vkImportFenceSciSyncObjNV(
    VkDevice                                    device,
    const VkImportFenceSciSyncInfoNV*           pImportFenceSciSyncInfo);

Parameters

  • device is the logical device that created the fence.

  • pImportFenceSciSyncInfo is a pointer to a VkImportFenceSciSyncInfoNV structure containing parameters of the import operation

Description

Importing a fence payload from a NvSciSyncObj does not transfer ownership of the handle to the Vulkan implementation. Vulkan will make a new reference to the NvSciSyncObj object when importing it. The application must release ownership using the NvSciSync API when the handle is no longer needed.

The application must not import the same NvSciSyncObj with signaler access permissions into multiple instances of VkFence, and must not import into the same instance from which it was exported.

Valid Usage
Valid Usage (Implicit)
  • VUID-vkImportFenceSciSyncObjNV-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkImportFenceSciSyncObjNV-pImportFenceSciSyncInfo-parameter
    pImportFenceSciSyncInfo must be a valid pointer to a valid VkImportFenceSciSyncInfoNV structure

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_INVALID_EXTERNAL_HANDLE

  • VK_ERROR_NOT_PERMITTED_EXT

See Also

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.

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0