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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.heapBudget
is 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.heapUsage
is 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