# VkPhysicalDeviceMemoryBudgetPropertiesEXT(3) Manual Page

## Name

VkPhysicalDeviceMemoryBudgetPropertiesEXT - Structure specifying physical device memory budget and usage

Loading… please wait.

## C Specification

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:

    // Provided by VK_EXT_memory_budget
    typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
        VkStructureType    sType;
        void*              pNext;
        VkDeviceSize       heapBudget[VK_MAX_MEMORY_HEAPS];
        VkDeviceSize       heapUsage[VK_MAX_MEMORY_HEAPS];
    } VkPhysicalDeviceMemoryBudgetPropertiesEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `heapBudget` is an array of `VK_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 of `VK_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.

## Description

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`

## See Also

VK_EXT_memory_budget, VkDeviceSize, VkStructureType

## 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.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0