|
| 1 | +# 2.2.0 (TODO) |
| 2 | + |
| 3 | +Major release after many months of development in "master" branch and feature branches. Notable new features: defragmentation of GPU memory, buddy algorithm, convenience functions for sparse binding. |
| 4 | + |
| 5 | +Major changes: |
| 6 | + |
| 7 | +- New, more powerful defragmentation: |
| 8 | + - Added structure `VmaDefragmentationInfo2`, functions `vmaDefragmentationBegin`, `vmaDefragmentationEnd`. |
| 9 | + - Added support for defragmentation of GPU memory. |
| 10 | + - Defragmentation of CPU memory now uses `memmove`, so it can move data to overlapping regions. |
| 11 | + - Defragmentation of CPU memory is not available for memory types that are `HOST_VISIBLE` but not `HOST_COHERENT`. |
| 12 | + - Major internal changes in defragmentation algorithm. |
| 13 | + - VmaReplay: added parameters: `--DefragmentAfterLine`, `--DefragmentationFlags`. |
| 14 | + - Old interface (structure `VmaDefragmentationInfo`, function `vmaDefragment`) is now deprecated. |
| 15 | +- Added buddy algorithm, available for custom pools - flag `VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT`. |
| 16 | +- Added convenience functions for multiple allocations and deallocations at once, intended for sparse binding resources - functions `vmaAllocateMemoryPages`, `vmaFreeMemoryPages`. |
| 17 | +- Added function that tries to resize existing allocation in place: `vmaResizeAllocation`. |
| 18 | +- Added flags for allocation strategy: `VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT`, and their aliases: `VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT`, `VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT`. |
| 19 | + |
| 20 | +Minor changes: |
| 21 | + |
| 22 | +- Changed behavior of allocation functions to return `VK_ERROR_VALIDATION_FAILED_EXT` when trying to allocate memory of size 0, create buffer with size 0, or image with one of the dimensions 0. |
| 23 | +- VmaReplay: Added support for Windows end of lines. |
| 24 | +- Updated recording CSV file format version to 1.5, to support new functions. |
| 25 | +- Internal optimization: using read-write mutex on some platforms. |
| 26 | +- Many additions and fixes in documentation. |
| 27 | +- Many compatibility fixes for various compilers. |
| 28 | +- Other internal bugfixes, optimizations, refactoring, added more internal validation. |
| 29 | + |
1 | 30 | # 2.1.0 (2018-09-10)
|
2 | 31 |
|
3 | 32 | Minor bugfixes.
|
|
0 commit comments