C Specification

The VkSemaphoreSubmitInfoKHR structure is defined as:

// Provided by VK_KHR_synchronization2
typedef struct VkSemaphoreSubmitInfoKHR {
    VkStructureType             sType;
    const void*                 pNext;
    VkSemaphore                 semaphore;
    uint64_t                    value;
    VkPipelineStageFlags2KHR    stageMask;
    uint32_t                    deviceIndex;
} VkSemaphoreSubmitInfoKHR;


  • sType is the type of this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • semaphore is a VkSemaphore affected by this operation.

  • value is ignored.

  • stageMask is a VkPipelineStageFlags2KHR mask of pipeline stages which limit the first synchronization scope of a semaphore signal operation, or second synchronization scope of a semaphore wait operation as described in the semaphore wait operation and semaphore signal operation sections of the synchronization chapter.

  • deviceIndex is the index of the device within a device group that executes the semaphore wait or signal operation.


Whether this structure defines a semaphore wait or signal operation is defined by how it is used.

Valid Usage
  • VUID-VkSemaphoreSubmitInfoKHR-stageMask-03929
    If the geometry shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR

  • VUID-VkSemaphoreSubmitInfoKHR-stageMask-03930
    If the tessellation shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR or VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR

  • VUID-VkSemaphoreSubmitInfoKHR-device-03888
    If the device that semaphore was created on is not a device group, deviceIndex must be 0

  • VUID-VkSemaphoreSubmitInfoKHR-device-03889
    If the device that semaphore was created on is a device group, deviceIndex must be a valid device index

  • VUID-VkSemaphoreSubmitInfoKHR-semaphore-05094
    If semaphore has a payload of NvSciSyncObj, value must be calculated by application via NvSciSync APIs.

Valid Usage (Implicit)
  • VUID-VkSemaphoreSubmitInfoKHR-sType-sType

  • VUID-VkSemaphoreSubmitInfoKHR-pNext-pNext
    pNext must be NULL

  • VUID-VkSemaphoreSubmitInfoKHR-semaphore-parameter
    semaphore must be a valid VkSemaphore handle

  • VUID-VkSemaphoreSubmitInfoKHR-stageMask-parameter
    stageMask must be a valid combination of VkPipelineStageFlagBits2KHR values

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-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0