Structures
VkPhysicalDeviceMemoryBudgetPropertiesEXT
Structure specifying physical device memory budget and usage
If the VkPhysicalDeviceMemoryBudgetPropertiesEXT structure is included
in the pNext chain of VkPhysicalDeviceMemoryProperties2, it is
filled with the current memory budgets and usages.
The VkPhysicalDeviceMemoryBudgetPropertiesEXT structure is defined as:
typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
VkStructureType sType;
void* pNext;
VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.heapBudgetis an array ofVK_MAX_MEMORY_HEAPS
VkDeviceSize values in which memory budgets are returned, with one element for each memory heap. A heap’s budget is a rough estimate of how much memory the process can allocate from that heap before allocations may fail or cause performance degradation. The budget includes any currently allocated device memory.heapUsageis an array ofVK_MAX_MEMORY_HEAPS
VkDeviceSize values in which memory usages are returned, with one element for each memory heap. A heap’s usage is an estimate of how much memory the process is currently using in that heap.
The values returned in this structure are not invariant.
The heapBudget and heapUsage values must be zero for array
elements greater than or equal to
VkPhysicalDeviceMemoryProperties::memoryHeapCount.
The heapBudget value must be non-zero for array elements less than
VkPhysicalDeviceMemoryProperties::memoryHeapCount.
The heapBudget value must be less than or equal to
VkMemoryHeap::size for each heap.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceMemoryBudgetPropertiesEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT