Adam Sawicki
4b01ef07ef
Changed behavior of debug margin to create distinct blocks instead of identifying them by size and free status.
...
Code by @medranSolus
2022-07-22 13:33:41 +02:00
Adam Sawicki
1022be64cf
Added missing mutex when unmapping memory.
...
Hopefully fixes #267 . Code by @medranSolus
2022-06-22 12:48:27 +02:00
Adam Sawicki
b51fea7a53
Improved documentation regarding selecting Vulkan version
...
See #256
Updated to Doxygen 1.9.4.
2022-06-14 16:43:27 +02:00
Rémi Verschelde
9eab57ea44
Strip trailing whitespace in code files
2022-06-14 13:41:15 +02:00
Rémi Verschelde
e20c24c4c8
Convert VMA line endings to Unix style (LF)
...
This makes it consistent with other files in the repository,
and is typically the norm for cross-platform Git repos.
2022-06-14 12:00:24 +02:00
Alex
825d3d850a
fix typos
2022-06-10 09:36:31 +08:00
Adam Sawicki
a6bfc23725
Releasing version 3.0.1
...
Some fixes in tests for Nvidia cards.
2022-05-26 11:51:12 +02:00
Adam Sawicki
b77238c92c
Refactored VmaBlockVector::SortByFreeSize to fix compilation on XCode 13.4
...
Fixes #269 . Thanks @richard-lunarg !
2022-05-26 11:11:32 +02:00
Adam Sawicki
0bbde1750e
Removed unused functions VmaQuickSort, VmaQuickSortPartition
...
Closes #262 . Thanks @laurelkeys !
2022-05-11 12:37:14 +02:00
Artem Kharytoniuk
fe38c8f13e
Fix minor typo
2022-05-11 11:23:16 +02:00
Adam Sawicki
5ab8c1752a
Fix assert when VMA_DEBUG_INITIALIZE_ALLOCATIONS is used with new memory usage flags
...
Only mappable allocations are filled with bit pattern.
See #260
2022-04-27 16:58:56 +02:00
Brian Osman
8a7f80743a
Fix return type of GetAllocationNextPtr
...
Returning `void* const` doesn't mean anything (produces a warning with -Wignored-qualifiers). Based on usage, it looks like the returned pointer is expected to point at const data, so I've fixed the declaration to reflect that.
2022-04-19 10:55:48 -04:00
Tiago Chaves
ebefe58623
Remove unused VmaAlgorithmToStr function
2022-04-09 21:23:17 -03:00
Adam Sawicki
0c7ad4e859
Optimized VmaCountBitsSets to use std::popcount when C++20 is enabled
...
Closes #251
2022-03-29 18:07:09 +02:00
Adam Sawicki
2d2a9e3df3
Fixed bug with assert failure when JSON dump is created while a custom pool exist with specified string name
2022-03-29 17:24:48 +02:00
Adam Sawicki
5b598e0a35
Clarified documentation about required C++14 version
...
Fixes #252
2022-03-28 16:36:24 +02:00
Adam Sawicki
3ed40d8321
Updated version number
2022-03-28 13:22:36 +02:00
Adam Sawicki
3f9f66740a
Fix for compilation on AppleClang 13.1
...
Fixes #253
2022-03-28 13:21:46 +02:00
Adam Sawicki
35e1539161
Fix for out-of-bound accessing last free block in EXTENSIVE defragmentation algorithm.
...
Code by @medranSolus
See #232
2022-03-28 13:19:34 +02:00
Menno Vink
11cbcfcfc5
Simplify the code to keep xcode happy
2022-03-27 18:34:29 +02:00
Menno Vink
54d356e2f3
C4062 fix
2022-03-27 17:48:07 +02:00
Adam Sawicki
67fda02b4b
Updated version number and CHANGELOG.md
...
Regenerated documentation and executable.
2022-03-25 12:39:55 +01:00
Adam Sawicki
3c6470cf45
New JSON dump format
...
Unified across VMA and D3D12MA.
Updated Python script for visualization - now called GpuMemDumpVis.py.
Also a fix for bug in EXTENSIVE defragmentation algorithm - see #232
Code by @medranSolus
2022-03-24 11:50:34 +01:00
Adam Sawicki
6b098e457e
Small but important fix in the documentation
2022-03-14 18:05:55 +01:00
Adam Sawicki
fadfc3fd13
Added convenience functions vmaCreateAliasingBuffer, vmaCreateAliasingImage
...
Code by @medranSolus
2022-03-14 16:56:30 +01:00
Adam Sawicki
c317c7b3e8
Internal improvement: moved setting of incremental sort in block vector to separate variable.
...
Code by @medranSolus
2022-03-10 15:17:22 +01:00
Adam Sawicki
31910c8b08
Fix in defragmentation versus mapping
...
by @medranSolus
Added TestDefragmentationVsMapping.
2022-03-09 13:24:06 +01:00
Adam Sawicki
e4dd120c2f
Fixed line endings to LF again
...
See #195
2022-03-08 13:50:37 +01:00
Adam Sawicki
85a49729c3
Improvements in documentation regarding defragmentation
2022-03-08 13:46:58 +01:00
Adam Sawicki
e1879e9f10
Removed VMA_ALLOCATION_CREATE_RESERVED_1_BIT, VMA_ALLOCATION_CREATE_RESERVED_2_BIT
...
Improvements in documentation.
2022-03-08 12:25:24 +01:00
Adam Sawicki
b644e72765
Renamed VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_PACKED_BIT to VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT for consistency. Compatibility breaking.
2022-03-07 17:16:49 +01:00
Adam Sawicki
7d182e2c5a
Change in the defragmentation API. Compatibility breaking!
...
Removed VmaDefragmentationMove::dstMemory, dstOffset, internalData, added dstTmpAllocation.
Code by @medranSolus
2022-03-07 17:00:12 +01:00
Adam Sawicki
80a07979f5
Improvements in documentation, especially regarding defragmentation
2022-03-04 16:33:16 +01:00
Adam Sawicki
f828262f43
Changed vmaEndDefragmentation to return void (somewhat compatibility breaking)
...
It couldn't fail anyway.
2022-03-04 14:24:29 +01:00
Adam Sawicki
b1427085f3
Fixed accounting of statistics in defragmentation.
...
Code by @medranSolus
See #232
2022-03-04 13:26:42 +01:00
Adam Sawicki
ea759b65d4
Added missing mutexes for DefragmentPassEnd().
...
Code by @medranSolus
2022-03-04 10:34:26 +01:00
Sidney Just
7b9c21f1fe
Fixed defragmenter not acquiring a lock before touching blocks
2022-03-03 17:05:05 -08:00
Sidney Just
44a5aea4ef
Fixed loop termination when ending defragment passes
2022-03-03 17:04:20 -08:00
Adam Sawicki
46776a4c37
Fixed merge error
2022-03-03 11:33:39 +01:00
Adam Sawicki
caf27e0428
Made allocation Name and UserData separate. COMPATIBILITY BREAKING!
...
Added function vmaSetAllocationName. Added member VmaAllocationInfo::pName.
VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT is now deprecated but still works.
Code mostly by @medranSolus
2022-03-03 11:23:14 +01:00
Adam Sawicki
bd39bed5e6
Fixes in defragmentation
...
Implemented VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT. Fixed allocation mapping after defragmentation.
Also fixed tests - hopefully fixes #248
Code by @medranSolus
2022-03-02 16:10:41 +01:00
Adam Sawicki
01364c7970
Added documentation chapter "VK_EXT_memory_priority"
...
Other fixes in documentation
2022-02-28 12:10:18 +01:00
Adam Sawicki
f02c8a46d8
Improvement in documentation
2022-02-28 10:57:04 +01:00
Adam Sawicki
4039e45a19
Added documentation chapter "Versioning and compatibility"
...
Many improvements in documentation and README.
2022-02-26 13:26:20 +01:00
Adam Sawicki
86c124c772
VMA_MEMORY_USAGE_AUTO* flags: Added support for rare case when a resource used on the device, not used on the host, may still be preferred in host memory
...
An update in the documentation.
2022-02-26 11:49:51 +01:00
Adam Sawicki
88bf8cb9a8
Removed usage of __popcnt
...
Apparently some old processors don't support this instruction. It's up to the user to provide optimized implementation by defining macro VMA_COUNT_BITS_SET.
Fixes #245
2022-02-25 13:51:13 +01:00
Pedro J. Estébanez
d8a9c7fa42
Add missing nullability qualifier
2022-02-24 11:42:44 +01:00
Adam Sawicki
20b9bc5334
Minor fixes in documentation of defragmentation
2022-02-23 16:21:16 +01:00
Adam Sawicki
6a63f2cb4e
Fixed incorrect accounting of memory budget.
...
Code by @medranSolus
Fixes #241
2022-02-23 13:44:51 +01:00
Adam Sawicki
ab75719ee0
Fix for failing CI job on linux.
...
Code by @medranSolus
2022-02-23 10:39:40 +01:00