VkDeviceGroupSubmitInfo
If the pNext chain of VkSubmitInfo includes a
VkDeviceGroupSubmitInfo structure, then that structure includes device
indices and masks specifying which physical devices execute semaphore
operations and command buffers.
The VkDeviceGroupSubmitInfo structure is defined as:
typedef struct VkDeviceGroupSubmitInfo {
VkStructureType sType;
const void* pNext;
uint32_t waitSemaphoreCount;
const uint32_t* pWaitSemaphoreDeviceIndices;
uint32_t commandBufferCount;
const uint32_t* pCommandBufferDeviceMasks;
uint32_t signalSemaphoreCount;
const uint32_t* pSignalSemaphoreDeviceIndices;
} VkDeviceGroupSubmitInfo;
or the equivalent
typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.waitSemaphoreCountis the number of elements in thepWaitSemaphoreDeviceIndicesarray.pWaitSemaphoreDeviceIndicesis a pointer to an array ofwaitSemaphoreCountdevice indices indicating which physical device executes the semaphore wait operation in the corresponding element of VkSubmitInfo::pWaitSemaphores.commandBufferCountis the number of elements in thepCommandBufferDeviceMasksarray.pCommandBufferDeviceMasksis a pointer to an array ofcommandBufferCountdevice masks indicating which physical devices execute the command buffer in the corresponding element of VkSubmitInfo::pCommandBuffers. A physical device executes the command buffer if the corresponding bit is set in the mask.signalSemaphoreCountis the number of elements in thepSignalSemaphoreDeviceIndicesarray.pSignalSemaphoreDeviceIndicesis a pointer to an array ofsignalSemaphoreCountdevice indices indicating which physical device executes the semaphore signal operation in the corresponding element of VkSubmitInfo::pSignalSemaphores.
If this structure is not present, semaphore operations and command buffers execute on device index zero.
Valid Usage
VUID-VkDeviceGroupSubmitInfo-waitSemaphoreCount-00082
waitSemaphoreCount must equal
VkSubmitInfo::waitSemaphoreCount
VUID-VkDeviceGroupSubmitInfo-commandBufferCount-00083
commandBufferCount must equal
VkSubmitInfo::commandBufferCount
VUID-VkDeviceGroupSubmitInfo-signalSemaphoreCount-00084
signalSemaphoreCount must equal
VkSubmitInfo::signalSemaphoreCount
VUID-VkDeviceGroupSubmitInfo-pWaitSemaphoreDeviceIndices-00085
All elements of pWaitSemaphoreDeviceIndices and
pSignalSemaphoreDeviceIndices must be valid device indices
VUID-VkDeviceGroupSubmitInfo-pCommandBufferDeviceMasks-00086
All elements of pCommandBufferDeviceMasks must be valid device
masks
Valid Usage (Implicit)
VUID-VkDeviceGroupSubmitInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO
VUID-VkDeviceGroupSubmitInfo-pWaitSemaphoreDeviceIndices-parameter
If waitSemaphoreCount is not 0, pWaitSemaphoreDeviceIndices must be a valid pointer to an array of waitSemaphoreCount uint32_t values
VUID-VkDeviceGroupSubmitInfo-pCommandBufferDeviceMasks-parameter
If commandBufferCount is not 0, pCommandBufferDeviceMasks must be a valid pointer to an array of commandBufferCount uint32_t values
VUID-VkDeviceGroupSubmitInfo-pSignalSemaphoreDeviceIndices-parameter
If signalSemaphoreCount is not 0, pSignalSemaphoreDeviceIndices must be a valid pointer to an array of signalSemaphoreCount uint32_t values