Vulkan Memory Allocator

Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
vk_mem_alloc.h File Reference
`#include <vulkan/vulkan.h>`

## Classes
struct | VmaDeviceMemoryCallbacks
| Set of callbacks that the library will call for `vkAllocateMemory` and `vkFreeMemory`. More...
struct | VmaVulkanFunctions
| Pointers to some Vulkan functions - a subset used by the library. More...
struct | VmaAllocatorCreateInfo
| Description of a Allocator to be created. More...
struct | VmaAllocatorInfo
| Information about existing VmaAllocator object. More...
struct | VmaStatistics
| Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total. More...
struct | VmaDetailedStatistics
| More detailed statistics than VmaStatistics. More...
struct | VmaTotalStatistics
| General statistics from current state of the Allocator - total memory usage across all memory heaps and types. More...
struct | VmaBudget
| Statistics of current memory usage and available budget for a specific memory heap. More...
struct | VmaAllocationCreateInfo
| Parameters of new VmaAllocation. More...
struct | VmaPoolCreateInfo
| Describes parameter of created VmaPool. More...
struct | VmaAllocationInfo
struct | VmaAllocationInfo2
| Extended parameters of a VmaAllocation object that can be retrieved using function vmaGetAllocationInfo2(). More...
struct | VmaDefragmentationInfo
| Parameters for defragmentation. More...
struct | VmaDefragmentationMove
| Single move of an allocation to be done for defragmentation. More...
struct | VmaDefragmentationPassMoveInfo
| Parameters for incremental defragmentation steps. More...
struct | VmaDefragmentationStats
| Statistics returned for defragmentation process in function vmaEndDefragmentation(). More...
struct | VmaVirtualBlockCreateInfo
| Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock(). More...
struct | VmaVirtualAllocationCreateInfo
| Parameters of created virtual allocation to be passed to vmaVirtualAllocate(). More...
struct | VmaVirtualAllocationInfo
| Parameters of an existing virtual allocation, returned by vmaGetVirtualAllocationInfo(). More...

## Typedefs
typedef enum VmaAllocatorCreateFlagBits | VmaAllocatorCreateFlagBits
| Flags for created VmaAllocator.
typedef VkFlags | VmaAllocatorCreateFlags
| See VmaAllocatorCreateFlagBits.
typedef enum VmaMemoryUsage | VmaMemoryUsage
| Intended usage of the allocated memory.
typedef enum VmaAllocationCreateFlagBits | VmaAllocationCreateFlagBits
| Flags to be passed as VmaAllocationCreateInfo::flags.
typedef VkFlags | VmaAllocationCreateFlags
| See VmaAllocationCreateFlagBits.
typedef enum VmaPoolCreateFlagBits | VmaPoolCreateFlagBits
| Flags to be passed as VmaPoolCreateInfo::flags.
typedef VkFlags | VmaPoolCreateFlags
| Flags to be passed as VmaPoolCreateInfo::flags. See VmaPoolCreateFlagBits.
typedef enum VmaDefragmentationFlagBits | VmaDefragmentationFlagBits
| Flags to be passed as VmaDefragmentationInfo::flags.
typedef VkFlags | VmaDefragmentationFlags
| See VmaDefragmentationFlagBits.
typedef enum VmaDefragmentationMoveOperation | VmaDefragmentationMoveOperation
| Operation performed on single defragmentation move. See structure VmaDefragmentationMove.
typedef enum VmaVirtualBlockCreateFlagBits | VmaVirtualBlockCreateFlagBits
| Flags to be passed as VmaVirtualBlockCreateInfo::flags.
typedef VkFlags | VmaVirtualBlockCreateFlags
| Flags to be passed as VmaVirtualBlockCreateInfo::flags. See VmaVirtualBlockCreateFlagBits.
typedef enum VmaVirtualAllocationCreateFlagBits | VmaVirtualAllocationCreateFlagBits
| Flags to be passed as VmaVirtualAllocationCreateInfo::flags.
typedef VkFlags | VmaVirtualAllocationCreateFlags
| Flags to be passed as VmaVirtualAllocationCreateInfo::flags. See VmaVirtualAllocationCreateFlagBits.
typedef void(VKAPI_PTR * | PFN_vmaAllocateDeviceMemoryFunction) (VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
| Callback function called after successful vkAllocateMemory.
typedef void(VKAPI_PTR * | PFN_vmaFreeDeviceMemoryFunction) (VmaAllocator allocator, uint32_t memoryType, VkDeviceMemory memory, VkDeviceSize size, void *pUserData)
| Callback function called before vkFreeMemory.
typedef struct VmaDeviceMemoryCallbacks | VmaDeviceMemoryCallbacks
| Set of callbacks that the library will call for `vkAllocateMemory` and `vkFreeMemory`.
typedef struct VmaVulkanFunctions | VmaVulkanFunctions
| Pointers to some Vulkan functions - a subset used by the library.
typedef struct VmaAllocatorCreateInfo | VmaAllocatorCreateInfo
| Description of a Allocator to be created.
typedef struct VmaAllocatorInfo | VmaAllocatorInfo
| Information about existing VmaAllocator object.
typedef struct VmaStatistics | VmaStatistics
| Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total.
typedef struct VmaDetailedStatistics | VmaDetailedStatistics
| More detailed statistics than VmaStatistics.
typedef struct VmaTotalStatistics | VmaTotalStatistics
| General statistics from current state of the Allocator - total memory usage across all memory heaps and types.
typedef struct VmaBudget | VmaBudget
| Statistics of current memory usage and available budget for a specific memory heap.
typedef struct VmaAllocationCreateInfo | VmaAllocationCreateInfo
| Parameters of new VmaAllocation.
typedef struct VmaPoolCreateInfo | VmaPoolCreateInfo
| Describes parameter of created VmaPool.
typedef struct VmaAllocationInfo | VmaAllocationInfo
typedef struct VmaAllocationInfo2 | VmaAllocationInfo2
| Extended parameters of a VmaAllocation object that can be retrieved using function vmaGetAllocationInfo2().
typedef VkBool32(VKAPI_PTR * | PFN_vmaCheckDefragmentationBreakFunction) (void *pUserData)
typedef struct VmaDefragmentationInfo | VmaDefragmentationInfo
| Parameters for defragmentation.
typedef struct VmaDefragmentationMove | VmaDefragmentationMove
| Single move of an allocation to be done for defragmentation.
typedef struct VmaDefragmentationPassMoveInfo | VmaDefragmentationPassMoveInfo
| Parameters for incremental defragmentation steps.
typedef struct VmaDefragmentationStats | VmaDefragmentationStats
| Statistics returned for defragmentation process in function vmaEndDefragmentation().
typedef struct VmaVirtualBlockCreateInfo | VmaVirtualBlockCreateInfo
| Parameters of created VmaVirtualBlock object to be passed to vmaCreateVirtualBlock().
typedef struct VmaVirtualAllocationCreateInfo | VmaVirtualAllocationCreateInfo
| Parameters of created virtual allocation to be passed to vmaVirtualAllocate().
typedef struct VmaVirtualAllocationInfo | VmaVirtualAllocationInfo
| Parameters of an existing virtual allocation, returned by vmaGetVirtualAllocationInfo().

## Enumerations
enum | VmaAllocatorCreateFlagBits { VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001 , VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT = 0x00000002 , VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT = 0x00000004 , VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT = 0x00000008 , VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT = 0x00000010 , VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT = 0x00000020 , VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT = 0x00000040 , VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE4_BIT = 0x00000080 , VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT = 0x00000100 , VMA_ALLOCATOR_CREATE_KHR_EXTERNAL_MEMORY_WIN32_BIT = 0x00000200 , VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags for created VmaAllocator. More...
enum | VmaMemoryUsage { VMA_MEMORY_USAGE_UNKNOWN = 0 , VMA_MEMORY_USAGE_GPU_ONLY = 1 , VMA_MEMORY_USAGE_CPU_ONLY = 2 , VMA_MEMORY_USAGE_CPU_TO_GPU = 3 , VMA_MEMORY_USAGE_GPU_TO_CPU = 4 , VMA_MEMORY_USAGE_CPU_COPY = 5 , VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED = 6 , VMA_MEMORY_USAGE_AUTO = 7 , VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE = 8 , VMA_MEMORY_USAGE_AUTO_PREFER_HOST = 9 , VMA_MEMORY_USAGE_MAX_ENUM = 0x7FFFFFFF }
| Intended usage of the allocated memory. More...
enum | VmaAllocationCreateFlagBits { VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT = 0x00000001 , VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT = 0x00000002 , VMA_ALLOCATION_CREATE_MAPPED_BIT = 0x00000004 , VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT = 0x00000020 , VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = 0x00000040 , VMA_ALLOCATION_CREATE_DONT_BIND_BIT = 0x00000080 , VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT = 0x00000100 , VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT = 0x00000200 , VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT = 0x00000400 , VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT = 0x00000800 , VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT = 0x00001000 , VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = 0x00010000 , VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = 0x00020000 , VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT = 0x00040000 , VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT , VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT , VMA_ALLOCATION_CREATE_STRATEGY_MASK , VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags to be passed as VmaAllocationCreateInfo::flags. More...
enum | VmaPoolCreateFlagBits { VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT = 0x00000002 , VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT = 0x00000004 , VMA_POOL_CREATE_ALGORITHM_MASK , VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags to be passed as VmaPoolCreateInfo::flags. More...
enum | VmaDefragmentationFlagBits { VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT = 0x1 , VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT = 0x2 , VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT = 0x4 , VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT = 0x8 , VMA_DEFRAGMENTATION_FLAG_ALGORITHM_MASK , VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags to be passed as VmaDefragmentationInfo::flags. More...
enum | VmaDefragmentationMoveOperation { VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY = 0 , VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE = 1 , VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY = 2 }
| Operation performed on single defragmentation move. See structure VmaDefragmentationMove. More...
enum | VmaVirtualBlockCreateFlagBits { VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT = 0x00000001 , VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK , VMA_VIRTUAL_BLOCK_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags to be passed as VmaVirtualBlockCreateInfo::flags. More...
enum | VmaVirtualAllocationCreateFlagBits { VMA_VIRTUAL_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT , VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT , VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT , VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT , VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MASK = VMA_ALLOCATION_CREATE_STRATEGY_MASK , VMA_VIRTUAL_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF }
| Flags to be passed as VmaVirtualAllocationCreateInfo::flags. More...

## Functions
VkResult | vmaImportVulkanFunctionsFromVolk (const VmaAllocatorCreateInfo *pAllocatorCreateInfo, VmaVulkanFunctions *pDstVulkanFunctions)
| Fully initializes `pDstVulkanFunctions` structure with Vulkan functions needed by VMA using volk library.
VkResult | vmaCreateAllocator (const VmaAllocatorCreateInfo *pCreateInfo, VmaAllocator *pAllocator)
| Creates VmaAllocator object.
void | vmaDestroyAllocator (VmaAllocator allocator)
| Destroys allocator object.
void | vmaGetAllocatorInfo (VmaAllocator allocator, VmaAllocatorInfo *pAllocatorInfo)
| Returns information about existing VmaAllocator object - handle to Vulkan device etc.
void | vmaGetPhysicalDeviceProperties (VmaAllocator allocator, const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties)
void | vmaGetMemoryProperties (VmaAllocator allocator, const VkPhysicalDeviceMemoryProperties **ppPhysicalDeviceMemoryProperties)
void | vmaGetMemoryTypeProperties (VmaAllocator allocator, uint32_t memoryTypeIndex, VkMemoryPropertyFlags *pFlags)
| Given Memory Type Index, returns Property Flags of this memory type.
void | vmaSetCurrentFrameIndex (VmaAllocator allocator, uint32_t frameIndex)
| Sets index of the current frame.
void | vmaCalculateStatistics (VmaAllocator allocator, VmaTotalStatistics *pStats)
| Retrieves statistics from current state of the Allocator.
void | vmaGetHeapBudgets (VmaAllocator allocator, VmaBudget *pBudgets)
| Retrieves information about current memory usage and budget for all memory heaps.
VkResult | vmaFindMemoryTypeIndex (VmaAllocator allocator, uint32_t memoryTypeBits, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
| Helps to find memoryTypeIndex, given memoryTypeBits and VmaAllocationCreateInfo.
VkResult | vmaFindMemoryTypeIndexForBufferInfo (VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
| Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo.
VkResult | vmaFindMemoryTypeIndexForImageInfo (VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, uint32_t *pMemoryTypeIndex)
| Helps to find memoryTypeIndex, given VkImageCreateInfo and VmaAllocationCreateInfo.
VkResult | vmaCreatePool (VmaAllocator allocator, const VmaPoolCreateInfo *pCreateInfo, VmaPool *pPool)
| Allocates Vulkan device memory and creates VmaPool object.
void | vmaDestroyPool (VmaAllocator allocator, VmaPool pool)
| Destroys VmaPool object and frees Vulkan device memory.
void | vmaGetPoolStatistics (VmaAllocator allocator, VmaPool pool, VmaStatistics *pPoolStats)
| Retrieves statistics of existing VmaPool object.
void | vmaCalculatePoolStatistics (VmaAllocator allocator, VmaPool pool, VmaDetailedStatistics *pPoolStats)
| Retrieves detailed statistics of existing VmaPool object.
VkResult | vmaCheckPoolCorruption (VmaAllocator allocator, VmaPool pool)
| Checks magic number in margins around all allocations in given memory pool in search for corruptions.
void | vmaGetPoolName (VmaAllocator allocator, VmaPool pool, const char **ppName)
| Retrieves name of a custom pool.
void | vmaSetPoolName (VmaAllocator allocator, VmaPool pool, const char *pName)
| Sets name of a custom pool.
VkResult | vmaAllocateMemory (VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| General purpose memory allocation.
VkResult | vmaAllocateMemoryPages (VmaAllocator allocator, const VkMemoryRequirements *pVkMemoryRequirements, const VmaAllocationCreateInfo *pCreateInfo, size_t allocationCount, VmaAllocation *pAllocations, VmaAllocationInfo *pAllocationInfo)
| General purpose memory allocation for multiple allocation objects at once.
VkResult | vmaAllocateMemoryForBuffer (VmaAllocator allocator, VkBuffer buffer, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| Allocates memory suitable for given `VkBuffer`.
VkResult | vmaAllocateMemoryForImage (VmaAllocator allocator, VkImage image, const VmaAllocationCreateInfo *pCreateInfo, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| Allocates memory suitable for given `VkImage`.
void | vmaFreeMemory (VmaAllocator allocator, VmaAllocation allocation)
| Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(), or vmaAllocateMemoryForImage().
void | vmaFreeMemoryPages (VmaAllocator allocator, size_t allocationCount, const VmaAllocation *pAllocations)
| Frees memory and destroys multiple allocations.
void | vmaGetAllocationInfo (VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo *pAllocationInfo)
| Returns current information about specified allocation.
void | vmaGetAllocationInfo2 (VmaAllocator allocator, VmaAllocation allocation, VmaAllocationInfo2 *pAllocationInfo)
| Returns extended information about specified allocation.
void | vmaSetAllocationUserData (VmaAllocator allocator, VmaAllocation allocation, void *pUserData)
| Sets pUserData in given allocation to new value.
void | vmaSetAllocationName (VmaAllocator allocator, VmaAllocation allocation, const char *pName)
| Sets pName in given allocation to new value.
void | vmaGetAllocationMemoryProperties (VmaAllocator allocator, VmaAllocation allocation, VkMemoryPropertyFlags *pFlags)
| Given an allocation, returns Property Flags of its memory type.
VkResult | vmaGetMemoryWin32Handle (VmaAllocator allocator, VmaAllocation allocation, HANDLE hTargetProcess, HANDLE *pHandle)
| Given an allocation, returns Win32 handle that may be imported by other processes or APIs.
VkResult | vmaMapMemory (VmaAllocator allocator, VmaAllocation allocation, void **ppData)
| Maps memory represented by given allocation and returns pointer to it.
void | vmaUnmapMemory (VmaAllocator allocator, VmaAllocation allocation)
| Unmaps memory represented by given allocation, mapped previously using vmaMapMemory().
VkResult | vmaFlushAllocation (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
| Flushes memory of given allocation.
VkResult | vmaInvalidateAllocation (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize offset, VkDeviceSize size)
| Invalidates memory of given allocation.
VkResult | vmaFlushAllocations (VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
| Flushes memory of given set of allocations.
VkResult | vmaInvalidateAllocations (VmaAllocator allocator, uint32_t allocationCount, const VmaAllocation *allocations, const VkDeviceSize *offsets, const VkDeviceSize *sizes)
| Invalidates memory of given set of allocations.
VkResult | vmaCopyMemoryToAllocation (VmaAllocator allocator, const void *pSrcHostPointer, VmaAllocation dstAllocation, VkDeviceSize dstAllocationLocalOffset, VkDeviceSize size)
| Maps the allocation temporarily if needed, copies data from specified host pointer to it, and flushes the memory from the host caches if needed.
VkResult | vmaCopyAllocationToMemory (VmaAllocator allocator, VmaAllocation srcAllocation, VkDeviceSize srcAllocationLocalOffset, void *pDstHostPointer, VkDeviceSize size)
| Invalidates memory in the host caches if needed, maps the allocation temporarily if needed, and copies data from it to a specified host pointer.
VkResult | vmaCheckCorruption (VmaAllocator allocator, uint32_t memoryTypeBits)
| Checks magic number in margins around all allocations in given memory types (in both default and custom pools) in search for corruptions.
VkResult | vmaBeginDefragmentation (VmaAllocator allocator, const VmaDefragmentationInfo *pInfo, VmaDefragmentationContext *pContext)
| Begins defragmentation process.
void | vmaEndDefragmentation (VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationStats *pStats)
| Ends defragmentation process.
VkResult | vmaBeginDefragmentationPass (VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationPassMoveInfo *pPassInfo)
| Starts single defragmentation pass.
VkResult | vmaEndDefragmentationPass (VmaAllocator allocator, VmaDefragmentationContext context, VmaDefragmentationPassMoveInfo *pPassInfo)
| Ends single defragmentation pass.
VkResult | vmaBindBufferMemory (VmaAllocator allocator, VmaAllocation allocation, VkBuffer buffer)
| Binds buffer to allocation.
VkResult | vmaBindBufferMemory2 (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkBuffer buffer, const void *(VkBindBufferMemoryInfoKHR) pNext)
| Binds buffer to allocation with additional parameters.
VkResult | vmaBindImageMemory (VmaAllocator allocator, VmaAllocation allocation, VkImage image)
| Binds image to allocation.
VkResult | vmaBindImageMemory2 (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, VkImage image, const void *(VkBindImageMemoryInfoKHR) pNext)
| Binds image to allocation with additional parameters.
VkResult | vmaCreateBuffer (VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| Creates a new `VkBuffer`, allocates and binds memory for it.
VkResult | vmaCreateBufferWithAlignment (VmaAllocator allocator, const VkBufferCreateInfo *pBufferCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkDeviceSize minAlignment, VkBuffer *pBuffer, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| Creates a buffer with additional minimum alignment.
VkResult | vmaCreateAliasingBuffer (VmaAllocator allocator, VmaAllocation allocation, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)
| Creates a new `VkBuffer`, binds already created memory for it.
VkResult | vmaCreateAliasingBuffer2 (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, const VkBufferCreateInfo *pBufferCreateInfo, VkBuffer *pBuffer)
| Creates a new `VkBuffer`, binds already created memory for it.
void | vmaDestroyBuffer (VmaAllocator allocator, VkBuffer buffer, VmaAllocation allocation)
| Destroys Vulkan buffer and frees allocated memory.
VkResult | vmaCreateImage (VmaAllocator allocator, const VkImageCreateInfo *pImageCreateInfo, const VmaAllocationCreateInfo *pAllocationCreateInfo, VkImage *pImage, VmaAllocation *pAllocation, VmaAllocationInfo *pAllocationInfo)
| Function similar to vmaCreateBuffer().
VkResult | vmaCreateAliasingImage (VmaAllocator allocator, VmaAllocation allocation, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)
| Function similar to vmaCreateAliasingBuffer() but for images.
VkResult | vmaCreateAliasingImage2 (VmaAllocator allocator, VmaAllocation allocation, VkDeviceSize allocationLocalOffset, const VkImageCreateInfo *pImageCreateInfo, VkImage *pImage)
| Function similar to vmaCreateAliasingBuffer2() but for images.
void | vmaDestroyImage (VmaAllocator allocator, VkImage image, VmaAllocation allocation)
| Destroys Vulkan image and frees allocated memory.
VkResult | vmaCreateVirtualBlock (const VmaVirtualBlockCreateInfo *pCreateInfo, VmaVirtualBlock *pVirtualBlock)
| Creates new VmaVirtualBlock object.
void | vmaDestroyVirtualBlock (VmaVirtualBlock virtualBlock)
| Destroys VmaVirtualBlock object.
VkBool32 | vmaIsVirtualBlockEmpty (VmaVirtualBlock virtualBlock)
| Returns true of the VmaVirtualBlock is empty - contains 0 virtual allocations and has all its space available for new allocations.
void | vmaGetVirtualAllocationInfo (VmaVirtualBlock virtualBlock, VmaVirtualAllocation allocation, VmaVirtualAllocationInfo *pVirtualAllocInfo)
| Returns information about a specific virtual allocation within a virtual block, like its size and `pUserData` pointer.
VkResult | vmaVirtualAllocate (VmaVirtualBlock virtualBlock, const VmaVirtualAllocationCreateInfo *pCreateInfo, VmaVirtualAllocation *pAllocation, VkDeviceSize *pOffset)
| Allocates new virtual allocation inside given VmaVirtualBlock.
void | vmaVirtualFree (VmaVirtualBlock virtualBlock, VmaVirtualAllocation allocation)
| Frees virtual allocation inside given VmaVirtualBlock.
void | vmaClearVirtualBlock (VmaVirtualBlock virtualBlock)
| Frees all virtual allocations inside given VmaVirtualBlock.
void | vmaSetVirtualAllocationUserData (VmaVirtualBlock virtualBlock, VmaVirtualAllocation allocation, void *pUserData)
| Changes custom pointer associated with given virtual allocation.
void | vmaGetVirtualBlockStatistics (VmaVirtualBlock virtualBlock, VmaStatistics *pStats)
| Calculates and returns statistics about virtual allocations and memory usage in given VmaVirtualBlock.
void | vmaCalculateVirtualBlockStatistics (VmaVirtualBlock virtualBlock, VmaDetailedStatistics *pStats)
| Calculates and returns detailed statistics about virtual allocations and memory usage in given VmaVirtualBlock.
void | vmaBuildVirtualBlockStatsString (VmaVirtualBlock virtualBlock, char **ppStatsString, VkBool32 detailedMap)
| Builds and returns a null-terminated string in JSON format with information about given VmaVirtualBlock.
void | vmaFreeVirtualBlockStatsString (VmaVirtualBlock virtualBlock, char *pStatsString)
| Frees a string returned by vmaBuildVirtualBlockStatsString().
void | vmaBuildStatsString (VmaAllocator allocator, char **ppStatsString, VkBool32 detailedMap)
| Builds and returns statistics as a null-terminated string in JSON format.
void | vmaFreeStatsString (VmaAllocator allocator, char *pStatsString)