|
| 1 | +# 2.1.0-beta.1 (2018-08-24) |
| 2 | + |
| 3 | +Major release after many months of development in "development" branch and features branches. Many new features added, some bugs fixed. API stays backward-compatible. |
| 4 | + |
| 5 | +Major changes: |
| 6 | + |
| 7 | +- Added linear allocation algorithm, accessible for custom pools, that can be used as free-at-once, stack, double stack, or ring buffer. See "Linear allocation algorithm" documentation chapter. |
| 8 | + - Added `VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT`, `VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT`. |
| 9 | +- Added feature to record sequence of calls to the library to a file and replay it using dedicated application. See documentation chapter "Record and replay". |
| 10 | + - Recording: added `VmaAllocatorCreateInfo::pRecordSettings`. |
| 11 | + - Replaying: added VmaReplay project. |
| 12 | + - Recording file format: added document "docs/Recording file format.md". |
| 13 | +- Improved support for non-coherent memory. |
| 14 | + - Added functions: `vmaFlushAllocation`, `vmaInvalidateAllocation`. |
| 15 | + - `nonCoherentAtomSize` is now respected automatically. |
| 16 | + - Added `VmaVulkanFunctions::vkFlushMappedMemoryRanges`, `vkInvalidateMappedMemoryRanges`. |
| 17 | +- Improved debug features related to detecting incorrect mapped memory usage. See documentation chapter "Debugging incorrect memory usage". |
| 18 | + - Added debug macro `VMA_DEBUG_DETECT_CORRUPTION`, functions `vmaCheckCorruption`, `vmaCheckPoolCorruption`. |
| 19 | + - Added debug macro `VMA_DEBUG_INITIALIZE_ALLOCATIONS` to initialize contents of allocations with a bit pattern. |
| 20 | + - Changed behavior of `VMA_DEBUG_MARGIN` macro - it now adds margin also before first and after last allocation in a block. |
| 21 | +- Changed format of JSON dump returned by `vmaBuildStatsString` (not backward compatible!). |
| 22 | + - Custom pools and memory blocks now have IDs that don't change after sorting. |
| 23 | + - Added properties: "CreationFrameIndex", "LastUseFrameIndex", "Usage". |
| 24 | + - Changed behavior of `vmaGetAllocationInfo` and `vmaTouchAllocation` to update `allocation.lastUseFrameIndex` even if allocation cannot become lost. |
| 25 | + - Changed VmaDumpVis tool to use these new properties for better coloring. |
| 26 | + |
| 27 | +Minor changes: |
| 28 | + |
| 29 | +- Improved logic of `vmaFindMemoryTypeIndex` for some cases, especially integrated GPUs. |
| 30 | +- VulkanSample application: Removed dependency on external library MathFu. Added own vector and matrix structures. |
| 31 | +- Code changes that improve compatibility with various platforms, including: Visual Studio 2012, 32-bit code, C compilers. |
| 32 | + - Changed usage of "VK_KHR_dedicated_allocation" extension in the code to be optional, driven by macro `VMA_DEDICATED_ALLOCATION`, for compatibility with Android. |
| 33 | +- Many additions and fixes in documentation, including description of new features, as well as "Validation layer warnings". |
| 34 | +- Other bugfixes. |
| 35 | + |
1 | 36 | # 2.0.0 (2018-03-19) |
2 | 37 |
|
3 | 38 | A major release with many compatibility-breaking changes. |
|
0 commit comments