Skip to content

v3.1.0

Latest
Compare
Choose a tag to compare
@adam-sawicki-a adam-sawicki-a released this 27 May 12:24
· 49 commits to master since this release

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 additional allocationLocalOffset.
  • Added function vmaGetAllocationInfo2, structure VmaAllocationInfo2 that return additional information about an allocation, useful for interop with other APIs (#383, #340).
  • Added callback VmaDefragmentationInfo::pfnBreakCallback that allows breaking long execution of vmaBeginDefragmentation.
    Also added PFN_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:
    • Split macros into separate VMA_DEBUG_LOG and VMA_DEBUG_LOG_FORMAT (#297).
    • Added macros VMA_ASSERT_LEAK, VMA_LEAK_LOG_FORMAT separate from normal VMA_ASSERT, VMA_DEBUG_LOG_FORMAT (#379, #385).
    • Added macro VMA_EXTENDS_VK_STRUCT (#347).
  • Countless bug fixes and improvements in the code and documentation, mostly to improve compatibility with various compilers and GPUs, including:
    • Fixed missing #include that resulted in compilation error about snprintf not declared on some compilers (#312).
    • Fixed main memory type selection algorithm for GPUs that have no HOST_CACHED memory type, like Raspberry Pi (#362).
  • Major changes in Cmake script.
  • Fixes in GpuMemDumpVis.py script.