Function Prototype

vkGetDeviceGroupPeerMemoryFeatures

Query supported peer memory features of a device

Peer memory is memory that is allocated for a given physical device and then bound to a resource and accessed by a different physical device, in a logical device that represents multiple physical devices. Some ways of reading and writing peer memory may not be supported by a device.

To determine how peer memory can be accessed, call:

void vkGetDeviceGroupPeerMemoryFeaturesKHR(
    VkDevice device,
    uint32_t heapIndex,
    uint32_t localDeviceIndex,
    uint32_t remoteDeviceIndex,
    VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
  • device is the logical device that owns the memory.
  • heapIndex is the index of the memory heap from which the memory is allocated.
  • localDeviceIndex is the device index of the physical device that performs the memory access.
  • remoteDeviceIndex is the device index of the physical device that the memory is allocated for.
  • pPeerMemoryFeatures is a pointer to a VkPeerMemoryFeatureFlags bitmask indicating which types of memory accesses are supported for the combination of heap, local, and remote devices.

Valid Usage

VUID-vkGetDeviceGroupPeerMemoryFeatures-heapIndex-00691

heapIndex must be less than memoryHeapCount

VUID-vkGetDeviceGroupPeerMemoryFeatures-localDeviceIndex-00692

localDeviceIndex must be a valid device index

VUID-vkGetDeviceGroupPeerMemoryFeatures-remoteDeviceIndex-00693

remoteDeviceIndex must be a valid device index

VUID-vkGetDeviceGroupPeerMemoryFeatures-localDeviceIndex-00694

localDeviceIndex must not equal remoteDeviceIndex

Valid Usage (Implicit)