VkSubmitInfo2KHR(3)

# VkSubmitInfo2KHR(3) Manual Page

## Name

VkSubmitInfo2KHR - Structure specifying a queue submit operation

Loading… please wait.

## C Specification

The `VkSubmitInfo2KHR` structure is defined as:

    // Provided by VK_KHR_synchronization2
    typedef struct VkSubmitInfo2KHR {
        VkStructureType                        sType;
        const void*                            pNext;
        VkSubmitFlagsKHR                       flags;
        uint32_t                               waitSemaphoreInfoCount;
        const VkSemaphoreSubmitInfoKHR*        pWaitSemaphoreInfos;
        uint32_t                               commandBufferInfoCount;
        const VkCommandBufferSubmitInfoKHR*    pCommandBufferInfos;
        uint32_t                               signalSemaphoreInfoCount;
        const VkSemaphoreSubmitInfoKHR*        pSignalSemaphoreInfos;
    } VkSubmitInfo2KHR;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `flags` is a bitmask of VkSubmitFlagBitsKHR.

- `waitSemaphoreInfoCount` is the number of elements in `pWaitSemaphoreInfos`.

- `pWaitSemaphoreInfos` is a pointer to an array of VkSemaphoreSubmitInfoKHR structures defining semaphore wait operations.

- `commandBufferInfoCount` is the number of elements in `pCommandBufferInfos` and the number of command buffers to execute in the batch.

- `pCommandBufferInfos` is a pointer to an array of VkCommandBufferSubmitInfoKHR structures describing command buffers to execute in the batch.

- `signalSemaphoreInfoCount` is the number of elements in `pSignalSemaphoreInfos`.

- `pSignalSemaphoreInfos` is a pointer to an array of VkSemaphoreSubmitInfoKHR describing semaphore signal operations.

## Description

Valid Usage

- VUID-VkSubmitInfo2KHR-semaphore-03881
  If the same semaphore is used as the `semaphore` member of both an element of `pSignalSemaphoreInfos` and `pWaitSemaphoreInfos`, and that semaphore is a timeline semaphore, the `value` member of the `pSignalSemaphoreInfos` element must be greater than the `value` member of the `pWaitSemaphoreInfos` element

- VUID-VkSubmitInfo2KHR-semaphore-03882
  If the `semaphore` member of any element of `pSignalSemaphoreInfos` is a timeline semaphore, the `value` member of that element must have a value greater than the current value of the semaphore when the semaphore signal operation is executed

- VUID-VkSubmitInfo2KHR-semaphore-03883
  If the `semaphore` member of any element of `pSignalSemaphoreInfos` is a timeline semaphore, the `value` member of that element must have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than `maxTimelineSemaphoreValueDifference`

- VUID-VkSubmitInfo2KHR-semaphore-03884
  If the `semaphore` member of any element of `pWaitSemaphoreInfos` is a timeline semaphore, the `value` member of that element must have a value which does not differ from the current value of the semaphore or the value of any outstanding semaphore wait or signal operation on that semaphore by more than `maxTimelineSemaphoreValueDifference`

- VUID-VkSubmitInfo2KHR-flags-03885
  If the protected memory feature is not enabled, `flags` must not include `VK_SUBMIT_PROTECTED_BIT_KHR`

- VUID-VkSubmitInfo2KHR-flags-03886
  If `flags` includes `VK_SUBMIT_PROTECTED_BIT_KHR`, all elements of `pCommandBuffers` must be protected command buffers

- VUID-VkSubmitInfo2KHR-flags-03887
  If `flags` does not include `VK_SUBMIT_PROTECTED_BIT_KHR`, each element of `pCommandBuffers` must not be a protected command buffer

Valid Usage (Implicit)

- VUID-VkSubmitInfo2KHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR`

- VUID-VkSubmitInfo2KHR-pNext-pNext
  Each `pNext` member of any structure (including this one) in the `pNext` chain must be either `NULL` or a pointer to a valid instance of VkPerformanceQuerySubmitInfoKHR, VkWin32KeyedMutexAcquireReleaseInfoKHR, or VkWin32KeyedMutexAcquireReleaseInfoNV

- VUID-VkSubmitInfo2KHR-sType-unique
  The `sType` value of each struct in the `pNext` chain must be unique

- VUID-VkSubmitInfo2KHR-flags-parameter
  `flags` must be a valid combination of VkSubmitFlagBitsKHR values

- VUID-VkSubmitInfo2KHR-pWaitSemaphoreInfos-parameter
  If `waitSemaphoreInfoCount` is not `0`, `pWaitSemaphoreInfos` must be a valid pointer to an array of `waitSemaphoreInfoCount` valid VkSemaphoreSubmitInfoKHR structures

- VUID-VkSubmitInfo2KHR-pCommandBufferInfos-parameter
  If `commandBufferInfoCount` is not `0`, `pCommandBufferInfos` must be a valid pointer to an array of `commandBufferInfoCount` valid VkCommandBufferSubmitInfoKHR structures

- VUID-VkSubmitInfo2KHR-pSignalSemaphoreInfos-parameter
  If `signalSemaphoreInfoCount` is not `0`, `pSignalSemaphoreInfos` must be a valid pointer to an array of `signalSemaphoreInfoCount` valid VkSemaphoreSubmitInfoKHR structures

## See Also

VkCommandBufferSubmitInfoKHR, VkSemaphoreSubmitInfoKHR, VkStructureType, VkSubmitFlagsKHR, vkQueueSubmit2KHR

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