VkSemaphoreSubmitInfo
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;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.semaphoreis a VkSemaphore affected by this operation.valueis either the value used to signalsemaphoreor the value waited on bysemaphore, ifsemaphoreis a timeline semaphore. Otherwise it is ignored.stageMaskis 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.deviceIndexis 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 of the shadingRateImage
or the attachmentFragmentShadingRate features are enabled,
stageMask must 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 the
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-pNext-pNext
pNext must be NULL
VUID-VkSemaphoreSubmitInfo-semaphore-parameter
semaphore must be a valid VkSemaphore handle
VUID-VkSemaphoreSubmitInfo-stageMask-parameter
stageMask must be a valid combination of VkPipelineStageFlagBits2 values