Structures

VkSemaphoreSubmitInfo

Structure specifying a semaphore signal or wait operation

The VkSemaphoreSubmitInfo structure is defined as:

typedef struct VkSemaphoreSubmitInfo {
    VkStructureType sType;
    const void* pNext;
    VkSemaphore semaphore;
    uint64_t value;
    VkPipelineStageFlags2 stageMask;
    uint32_t deviceIndex;
} VkSemaphoreSubmitInfo;

or the equivalent

typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • semaphore is a VkSemaphore affected by this operation.
  • value is either the value used to signal semaphore or the value waited on by semaphore, if semaphore is a timeline semaphore. Otherwise it is ignored.
  • stageMask is a VkPipelineStageFlags2 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-VkSemaphoreSubmitInfo-stageMask-03929

If the geometryShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT

VUID-VkSemaphoreSubmitInfo-stageMask-03930

If the tessellationShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT

VUID-VkSemaphoreSubmitInfo-stageMask-03931

If the conditionalRendering feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT

VUID-VkSemaphoreSubmitInfo-stageMask-03932

If the fragmentDensityMap feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT

VUID-VkSemaphoreSubmitInfo-stageMask-03933

If the transformFeedback feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT

VUID-VkSemaphoreSubmitInfo-stageMask-03934

If the meshShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT

VUID-VkSemaphoreSubmitInfo-stageMask-03935

If the taskShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT

VUID-VkSemaphoreSubmitInfo-stageMask-07316

If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, stageMaskmust not contain VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR

VUID-VkSemaphoreSubmitInfo-stageMask-04957

If the subpassShading feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI

VUID-VkSemaphoreSubmitInfo-stageMask-04995

If the invocationMask feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI

VUID-VkSemaphoreSubmitInfo-stageMask-07946

If neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, stageMask must not contain VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR

VUID-VkSemaphoreSubmitInfo-device-03888

If the device that semaphore was created on is not a device group, deviceIndex must be 0

VUID-VkSemaphoreSubmitInfo-device-03889

If the device that semaphore was created on is a device group, deviceIndex must be a valid device index

Valid Usage (Implicit)

VUID-VkSemaphoreSubmitInfo-sType-sType

sType must be VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO

VUID-VkSemaphoreSubmitInfo-stageMask-parameter

stageMask must be a valid combination of VkPipelineStageFlagBits2 values