VkSemaphoreSubmitInfoKHR(3)

# VkSemaphoreSubmitInfoKHR(3) Manual Page

## Name

VkSemaphoreSubmitInfoKHR - Structure specifying a semaphore signal or wait operation

Loading… please wait.

## 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;

## Members

- `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 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 VkPipelineStageFlags2KHR mask of pipeline stages at which the semaphore either waits or is signaled.

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

## Description

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-stageMask-03931
  If the conditional rendering feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT`

- VUID-VkSemaphoreSubmitInfoKHR-stageMask-03932
  If the fragment density map feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT`

- VUID-VkSemaphoreSubmitInfoKHR-stageMask-03933
  If the transform feedback feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT`

- VUID-VkSemaphoreSubmitInfoKHR-stageMask-03934
  If the mesh shaders feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV`

- VUID-VkSemaphoreSubmitInfoKHR-stageMask-03935
  If the task shaders feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV`

- VUID-VkSemaphoreSubmitInfoKHR-stageMask-03936
  If the shading rate image feature is not enabled, `stageMask` must not contain `VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV`

- 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

Valid Usage (Implicit)

- VUID-VkSemaphoreSubmitInfoKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR`

- 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

VkPipelineStageFlags2KHR, VkSemaphore, VkStructureType, VkSubmitInfo2KHR

## 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

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0