Skip to content

Commit f9b6868

Browse files
Described version 2.1.0-beta.1 in CHANGELOG.md.
Minor fixes in documentation.
1 parent 4c6e9e8 commit f9b6868

7 files changed

Lines changed: 158 additions & 120 deletions

File tree

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
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+
136
# 2.0.0 (2018-03-19)
237

338
A major release with many compatibility-breaking changes.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Additional features:
4343
- Support for memory mapping, reference-counted internally. Support for persistently mapped memory: Just allocate with appropriate flag and you get access to mapped pointer.
4444
- Support for non-coherent memory. Functions that flush/invalidate memory. nonCoherentAtomSize is respected automatically.
4545
- Custom memory pools: Create a pool with desired parameters (e.g. fixed or limited maximum size) and allocate memory out of it.
46+
- Linear allocator: Create a pool with linear algorithm and use it for much faster allocations and deallocations in free-at-once, stack, double stack, or ring buffer fashion.
4647
- Support for VK_KHR_dedicated_allocation extension: Just enable it and it will be used automatically by the library.
4748
- Defragmentation: Call one function and let the library move data around to free some memory blocks and make your allocations better compacted.
4849
- Lost allocations: Allocate memory with appropriate flags and let the library remove allocations that are not used for many frames to make room for new ones.

bin/VmaReplay_Release_vs2015.exe

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

docs/html/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ <h1><a class="anchor" id="main_table_of_contents"></a>
137137
</li>
138138
<li><a class="el" href="general_considerations.html">General considerations</a><ul>
139139
<li><a class="el" href="general_considerations.html#general_considerations_thread_safety">Thread safety</a></li>
140+
<li><a class="el" href="general_considerations.html#general_considerations_validation_layer_warnings">Validation layer warnings</a></li>
140141
<li><a class="el" href="general_considerations.html#general_considerations_allocation_algorithm">Allocation algorithm</a></li>
141142
<li><a class="el" href="general_considerations.html#general_considerations_features_not_supported">Features not supported</a></li>
142143
</ul>

docs/html/vk__mem__alloc_8h_source.html

Lines changed: 120 additions & 120 deletions
Large diffs are not rendered by default.

src/vk_mem_alloc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Documentation of all members: vk_mem_alloc.h
8484
- \subpage vk_khr_dedicated_allocation
8585
- \subpage general_considerations
8686
- [Thread safety](@ref general_considerations_thread_safety)
87+
- [Validation layer warnings](@ref general_considerations_validation_layer_warnings)
8788
- [Allocation algorithm](@ref general_considerations_allocation_algorithm)
8889
- [Features not supported](@ref general_considerations_features_not_supported)
8990

0 commit comments

Comments
 (0)