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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.waitSemaphoreCount
is the number of elements in thepWaitSemaphoreDeviceIndices
array.pWaitSemaphoreDeviceIndices
is a pointer to an array ofwaitSemaphoreCount
device indices indicating which physical device executes the semaphore wait operation in the corresponding element of VkSubmitInfo::pWaitSemaphores
.commandBufferCount
is the number of elements in thepCommandBufferDeviceMasks
array.pCommandBufferDeviceMasks
is a pointer to an array ofcommandBufferCount
device 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.signalSemaphoreCount
is the number of elements in thepSignalSemaphoreDeviceIndices
array.pSignalSemaphoreDeviceIndices
is a pointer to an array ofsignalSemaphoreCount
device 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