Class VkDeviceMemoryReportCallbackDataEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkDeviceMemoryReportCallbackDataEXT>
org.lwjgl.vulkan.VkDeviceMemoryReportCallbackDataEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkDeviceMemoryReportCallbackDataEXT extends org.lwjgl.system.Struct<VkDeviceMemoryReportCallbackDataEXT> implements org.lwjgl.system.NativeResource
Structure specifying parameters returned to the callback.
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 DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT and DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT events, objectHandle usually will not yet exist when the application or tool receives the callback. objectHandle will only exist when the create or allocate call that triggered the event returns, and if the allocation or import ends up failing objectHandle will not ever exist.

Valid Usage (Implicit)
See Also

VkDeviceMemoryReportCallbackEXT

Layout


 struct VkDeviceMemoryReportCallbackDataEXT {
     VkStructureType sType();
     void * pNext();
     VkDeviceMemoryReportFlagsEXT flags();
     VkDeviceMemoryReportEventTypeEXT type();
     uint64_t memoryObjectId();
     VkDeviceSize size();
     VkObjectType objectType();
     uint64_t objectHandle();
     uint32_t heapIndex();
 }