This release gathers fixes and improvements made during many months of continuous development on the main branch, mostly based on issues and pull requests on GitHub.
Additions to the library API:
- Added convenience functions
vmaCopyMemoryToAllocation
,vmaCopyAllocationToMemory
. - Added functions
vmaCreateAliasingBuffer2
,vmaCreateAliasingImage2
that offer creating a buffer/image in an existing allocation with additionalallocationLocalOffset
. - Added function
vmaGetAllocationInfo2
, structureVmaAllocationInfo2
that return additional information about an allocation, useful for interop with other APIs (#383, #340). - Added callback
VmaDefragmentationInfo::pfnBreakCallback
that allows breaking long execution ofvmaBeginDefragmentation
.
Also addedPFN_vmaCheckDefragmentationBreakFunction
,VmaDefragmentationInfo::pBreakCallbackUserData
. - Added support for VK_KHR_maintenance4 extension -
VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE4_BIT
flag (#397). - Added support for VK_KHR_maintenance5 extension -
VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT
flag (#411).
Other changes:
- Changes in debug and configuration macros:
- Countless bug fixes and improvements in the code and documentation, mostly to improve compatibility with various compilers and GPUs, including:
- Major changes in Cmake script.
- Fixes in GpuMemDumpVis.py script.