Function Prototype

vkGetDeviceMemoryOpaqueCaptureAddress

Query an opaque capture address of a memory object

To query a 64-bit opaque capture address value from a memory object, call:

uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR(
    VkDevice device,
    const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
  • device is the logical device that the memory object was allocated on.
  • pInfo is a pointer to a VkDeviceMemoryOpaqueCaptureAddressInfo structure specifying the memory object to retrieve an address for.

The 64-bit return value is an opaque address representing the start of pInfo→memory.

If the memory object was allocated with a non-zero value of VkMemoryOpaqueCaptureAddressAllocateInfo::opaqueCaptureAddress, the return value must be the same address.

The expected usage for these opaque addresses is only for trace capture/replay tools to store these addresses in a trace and subsequently specify them during replay.

Valid Usage

VUID-vkGetDeviceMemoryOpaqueCaptureAddress-device-03335

If device was created with multiple physical devices, then the bufferDeviceAddressMultiDevice feature must be enabled