v3.1.0
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,vmaCreateAliasingImage2that offer creating a buffer/image in an existing allocation with additionalallocationLocalOffset. - Added function
vmaGetAllocationInfo2, structureVmaAllocationInfo2that return additional information about an allocation, useful for interop with other APIs (#383, #340). - Added callback
VmaDefragmentationInfo::pfnBreakCallbackthat allows breaking long execution ofvmaBeginDefragmentation.
Also addedPFN_vmaCheckDefragmentationBreakFunction,VmaDefragmentationInfo::pBreakCallbackUserData. - Added support for VK_KHR_maintenance4 extension -
VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE4_BITflag (#397). - Added support for VK_KHR_maintenance5 extension -
VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BITflag (#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.