C Specification

The VkPhysicalDeviceExternalSciSyncFeaturesNV structure is defined as:

// Provided by VK_NV_external_sci_sync
typedef struct VkPhysicalDeviceExternalSciSyncFeaturesNV {
    VkStructureType    sType;
    void*              pNext;
    VkBool32           sciSyncFence;
    VkBool32           sciSyncSemaphore;
    VkBool32           sciSyncImport;
    VkBool32           sciSyncExport;
} VkPhysicalDeviceExternalSciSyncFeaturesNV;

Members

The members of the VkPhysicalDeviceExternalSciSyncFeaturesNV structure describe the following features:

Description

  • sciSyncFence indicates whether external fences created with a handle type of VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV and VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV are supported for import and/or export.

  • sciSyncSemaphore indicates whether external semaphores created with a handle type of VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV are supported for import and/or export.

  • sciSyncImport indicates whether NvSciSyncObj import functionality is supported. If sciSyncImport is set to VK_TRUE, VkFence and/or VkSemaphore support importing NvSciSyncObj from applications. In this case, the application is responsible for the resource management of the NvSciSyncObj.

  • sciSyncExport indicates whether NvSciSyncObj export functionality is supported. If sciSyncExport is set to VK_TRUE, VkFence and/or VkSemaphore support exporting NvSciSyncObj created by the driver to applications. In this case, the driver is responsible for the resource management of the NvSciSyncObj.

Table 1. Functionality supported for NvSciSync features

Features

sciSyncImport

sciSyncExport

Always supported1

sciSyncFence

vkImportFenceSciSyncFenceNV, vkImportFenceSciSyncObjNV

VkExportFenceSciSyncInfoNV

vkGetFenceSciSyncFenceNV, vkGetFenceSciSyncObjNV, vkGetPhysicalDeviceSciSyncAttributesNV (with VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV)

sciSyncSemaphore

vkImportSemaphoreSciSyncObjNV

VkExportSemaphoreSciSyncInfoNV

vkGetSemaphoreSciSyncObjNV, vkGetPhysicalDeviceSciSyncAttributesNV (with VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV)

1

Functionality in this column is always available.

The Functionality supported for NvSciSync features table summarizes the functionality enabled by the VkPhysicalDeviceExternalSciSyncFeaturesNV structure. There are two orthogonal pieces of functionality: fence and semaphore support; import and export support. Each entry in the body of the table summarizes the functionality that can be used when the given features are supported and enabled. This summarizes Valid Usage statements that are added elsewhere in this specification.

If the VkPhysicalDeviceExternalSciSyncFeaturesNV structure is included in the pNext chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. VkPhysicalDeviceExternalSciSyncFeaturesNV can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceExternalSciSyncFeaturesNV-sType-sType
    sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV

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