@NonnullDefault
See: Description
| Interface | Description |
|---|---|
| VmaAllocateDeviceMemoryFunctionI |
Instances of this interface may be set to the
VmaDeviceMemoryCallbacks struct. |
| VmaFreeDeviceMemoryFunctionI |
Instances of this interface may be set to the
VmaDeviceMemoryCallbacks struct. |
| Class | Description |
|---|---|
| Vma |
The Vulkan Memory Allocator.
|
| VmaAllocateDeviceMemoryFunction |
Instances of this class may be set to the
VmaDeviceMemoryCallbacks struct. |
| VmaAllocationCreateInfo |
Member documentation
|
| VmaAllocationCreateInfo.Buffer |
An array of
VmaAllocationCreateInfo structs. |
| VmaAllocationInfo |
Parameters of
VmaAllocation objects, that can be retrieved using function GetAllocationInfo. |
| VmaAllocationInfo.Buffer |
An array of
VmaAllocationInfo structs. |
| VmaAllocatorCreateInfo |
Description of an Allocator to be created.
|
| VmaBudget |
Statistics of current memory usage and available budget, in bytes, for specific memory heap.
|
| VmaBudget.Buffer |
An array of
VmaBudget structs. |
| VmaDefragmentationInfo |
Deprecated.
|
| VmaDefragmentationInfo.Buffer |
An array of
VmaDefragmentationInfo structs. |
| VmaDefragmentationInfo2 |
Parameters for defragmentation.
|
| VmaDefragmentationInfo2.Buffer |
An array of
VmaDefragmentationInfo2 structs. |
| VmaDefragmentationStats |
Statistics returned by function
Defragment. |
| VmaDefragmentationStats.Buffer |
An array of
VmaDefragmentationStats structs. |
| VmaDeviceMemoryCallbacks |
Set of callbacks that the library will call for
vkAllocateMemory and vkFreeMemory. |
| VmaDeviceMemoryCallbacks.Buffer |
An array of
VmaDeviceMemoryCallbacks structs. |
| VmaFreeDeviceMemoryFunction |
Instances of this class may be set to the
VmaDeviceMemoryCallbacks struct. |
| VmaPoolCreateInfo |
Describes parameter of created
VmaPool. |
| VmaPoolCreateInfo.Buffer |
An array of
VmaPoolCreateInfo structs. |
| VmaPoolStats |
Describes parameter of existing
VmaPool. |
| VmaPoolStats.Buffer |
An array of
VmaPoolStats structs. |
| VmaRecordSettings |
Parameters for recording calls to VMA functions.
|
| VmaRecordSettings.Buffer |
An array of
VmaRecordSettings structs. |
| VmaStatInfo |
Calculated statistics of memory usage in entire allocator.
|
| VmaStatInfo.Buffer |
An array of
VmaStatInfo structs. |
| VmaStats |
General statistics from current state of Allocator.
|
| VmaStats.Buffer |
An array of
VmaStats structs. |
| VmaVulkanFunctions |
Pointers to some Vulkan functions - a subset used by the library.
|
Memory allocation and resource (buffer and image) creation in Vulkan is difficult (comparing to older graphics API-s, like D3D11 or OpenGL) for several reasons:
VkDeviceMemory is allocated separately from creating VkBuffer/VkImage and they must be
bound together. The binding cannot be changed later - resource must be recreated.This library can help game developers to manage memory allocations and resource creation by offering some higher-level functions. Features of the library are divided into several layers, low level to high level:
- Required or preferred traits of the memory are expressed using higher-level description comparing to Vulkan flags.
- Library keeps track of allocated memory blocks, used and unused ranges inside them, finds best matching unused ranges for new allocations, takes all the rules of alignment and buffer/image granularity into consideration.
Additional features:
Copyright LWJGL. All Rights Reserved. License terms.