C Specification
The definition of VkDeviceMemoryReportCallbackDataEXT is:
// Provided by VK_EXT_device_memory_report
typedef struct VkDeviceMemoryReportCallbackDataEXT {
    VkStructureType                     sType;
    void*                               pNext;
    VkDeviceMemoryReportFlagsEXT        flags;
    VkDeviceMemoryReportEventTypeEXT    type;
    uint64_t                            memoryObjectId;
    VkDeviceSize                        size;
    VkObjectType                        objectType;
    uint64_t                            objectHandle;
    uint32_t                            heapIndex;
} VkDeviceMemoryReportCallbackDataEXT;Members
- 
sTypeis a VkStructureType value identifying this structure.
- 
pNextisNULLor a pointer to a structure extending this structure.
- 
flagsis 0 and reserved for future use.
- 
typeis a VkDeviceMemoryReportEventTypeEXT type specifying the type of event reported in thisVkDeviceMemoryReportCallbackDataEXTstructure.
- 
memoryObjectIdis the unique id for the underlying memory object as described below.
- 
sizeis the size of the memory object in bytes. IftypeisVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXTorVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,sizeis a valid VkDeviceSize value. Otherwise,sizeis undefined.
- 
objectTypeis a VkObjectType value specifying the type of the object associated with this device memory report event. IftypeisVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXTorVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,objectTypeis a valid VkObjectType enum. Otherwise,objectTypeis undefined.
- 
objectHandleis the object this device memory report event is attributed to. IftypeisVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT,VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXTorVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT,objectHandleis a valid Vulkan handle of the type associated withobjectTypeas defined in theVkObjectTypeand Vulkan Handle Relationship table. Otherwise,objectHandleis undefined.
- 
heapIndexdescribes which memory heap this device memory allocation is made from. IftypeisVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXTorVK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT,heapIndexcorresponds to one of the valid heaps from the VkPhysicalDeviceMemoryProperties structure. Otherwise,heapIndexis undefined.
Description
memoryObjectId is used to avoid double-counting on the same memory
object.
If an internally-allocated device memory object or a VkDeviceMemory
cannot be exported, memoryObjectId must be unique in the
VkDevice.
If an internally-allocated device memory object or a VkDeviceMemory
supports being exported, memoryObjectId must be unique system wide.
If an internal device memory object or a VkDeviceMemory is backed by
an imported external memory object, memoryObjectId must be unique
system wide.
| Note | This structure should only be considered valid during the lifetime of the triggered callback. For  | 
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.