C Specification

To create a VkSemaphoreSciSyncPoolNV, call:

// Provided by VK_NV_external_sci_sync2
VkResult vkCreateSemaphoreSciSyncPoolNV(
    VkDevice                                    device,
    const VkSemaphoreSciSyncPoolCreateInfoNV*   pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkSemaphoreSciSyncPoolNV*                   pSemaphorePool);


  • device is the logical device that creates the semaphore pool.

  • pCreateInfo is a pointer to a VkSemaphoreSciSyncPoolCreateInfoNV structure containing information about the semaphore SciSync pool being created.

  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  • pSemaphorePool is a pointer to a handle in which the resulting semaphore pool object is returned.


If VkPhysicalDeviceVulkanSC10Properties::deviceNoDynamicHostAllocations is VK_TRUE, vkCreateSemaphoreSciSyncPoolNV must not return VK_ERROR_OUT_OF_HOST_MEMORY.

Valid Usage
  • VUID-vkCreateSemaphoreSciSyncPoolNV-device-05150
    The number of semaphore pools currently allocated from device plus 1 must be less than or equal to the total number of semaphore pools requested via VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV::semaphoreSciSyncPoolRequestCount specified when device was created

  • VUID-vkCreateSemaphoreSciSyncPoolNV-sciSyncSemaphore2-05151
    The VkPhysicalDeviceExternalSciSync2FeaturesNV::sciSyncSemaphore2 feature must be enabled

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

  • VUID-vkCreateSemaphoreSciSyncPoolNV-pCreateInfo-parameter
    pCreateInfo must be a valid pointer to a valid VkSemaphoreSciSyncPoolCreateInfoNV structure

  • VUID-vkCreateSemaphoreSciSyncPoolNV-pAllocator-null
    pAllocator must be NULL

  • VUID-vkCreateSemaphoreSciSyncPoolNV-pSemaphorePool-parameter
    pSemaphorePool must be a valid pointer to a VkSemaphoreSciSyncPoolNV handle

Return Codes
On success, this command returns

On failure, this command returns


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