VkBindBufferMemoryDeviceGroupInfo
The VkBindBufferMemoryDeviceGroupInfo
structure is defined as:
typedef struct VkBindBufferMemoryDeviceGroupInfo {
VkStructureType sType;
const void* pNext;
uint32_t deviceIndexCount;
const uint32_t* pDeviceIndices;
} VkBindBufferMemoryDeviceGroupInfo;
or the equivalent
typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.deviceIndexCount
is the number of elements inpDeviceIndices
.pDeviceIndices
is a pointer to an array of device indices.
If the pNext
chain of VkBindBufferMemoryInfo includes a
VkBindBufferMemoryDeviceGroupInfo
structure, then that structure
determines how memory is bound to buffers across multiple devices in a
device group.
If deviceIndexCount
is greater than zero, then on device index i
the buffer is attached to the instance of memory
on the physical
device with device index pDeviceIndices
[i].
If deviceIndexCount
is zero and memory
comes from a memory heap
with the VK_MEMORY_HEAP_MULTI_INSTANCE_BIT
bit set, then it is as if
pDeviceIndices
contains consecutive indices from zero to the number of
physical devices in the logical device, minus one.
In other words, by default each physical device attaches to its own instance
of memory
.
If deviceIndexCount
is zero and memory
comes from a memory heap
without the VK_MEMORY_HEAP_MULTI_INSTANCE_BIT
bit set, then it is as
if pDeviceIndices
contains an array of zeros.
In other words, by default each physical device attaches to instance zero.
Valid Usage
VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606
deviceIndexCount
must either be zero or equal to the number of
physical devices in the logical device
VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607
All elements of pDeviceIndices
must be valid device indices
Valid Usage (Implicit)
VUID-VkBindBufferMemoryDeviceGroupInfo-sType-sType
sType
must be VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO
VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-parameter
If deviceIndexCount
is not 0
, pDeviceIndices
must be a valid pointer to an array of deviceIndexCount
uint32_t
values