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
80a07979f5
Improvements in documentation, especially regarding defragmentation
2022-03-04 16:33:16 +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
01364c7970
Added documentation chapter "VK_EXT_memory_priority"
...
Other fixes in documentation
2022-02-28 12:10:18 +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
88510e9801
New API for defragmentation. COMPATIBILITY BREAKING!
...
See structure VmaDefragmentationInfo, VmaDefragmentationMove, VmaDefragmentationPassMoveInfo, VmaDefragmentationStats, function vmaBeginDefragmentation, vmaEndDefragmentation, vmaBeginDefragmentationPass, vmaEndDefragmentationPass.
Switched to TLSF as the default algorithm - in default pools, custom pools, virtual blocks. Removed generic and buddy algorithm. Removed flags: VMA_POOL_CREATE_BUDDY_ALGORITHM_BIT, VMA_POOL_CREATE_TLSF_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_BUDDY_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_TLSF_ALGORITHM_BIT.
Updated and regenerated documentation.
2022-02-22 23:38:19 +01:00
Adam Sawicki
226bd5a6ad
New API for statistics. COMPATIBILITY BREAKING!
...
New structure VmaStatistics, VmaDetailedStatistics, VmaTotalStatistics. Modified structure VmaBudget.
New function vmaCalculateStatistics, vmaGetPoolStatistics, vmaCalculatePoolStatistics, vmaGetVirtualBlockStatistics, vmaCalculateVirtualBlockStatistics. vmaGetHeapBudgets function unchanged.
Updated and rebuilt the docs.
2022-02-22 15:19:35 +01:00
Adam Sawicki
c168e42de4
Rebuilt the docs
2022-02-17 14:44:48 +01:00
Adam Sawicki
ab16036dd5
Updated tests and documentation for VMA_DEBUG_MARGIN
...
Fixed type of VmaVirtualBlockCreateInfo::flags.
Rebuilt the docs.
2022-02-01 17:57:17 +01:00
Adam Sawicki
c161ba93d5
Minor fix in the documentation
...
Rebuilt the documentation
2022-01-31 18:07:58 +01:00
Adam Sawicki
ed83ac24d2
Changes in ALLOCATION_CREATE_STRATEGY flags. COMPATIBILITY BREAKING!
...
Removed flags: VMA_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT, VMA_ALLOCATION_CREATE_STRATEGY_WORST_FIT_BIT, VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_FRAGMENTATION_BIT.
Regenerated documentation.
2022-01-26 17:47:11 +01:00
Adam Sawicki
d3a85f0dc3
Refactored virtual allocator. (COMPATIBILITY BREAKING!) Added TLSF algoritym.
...
Refactored virtual allocator: Added type VmaVirtualAllocation, member VmaVirtualAllocationInfo::offset, changed parameters of vmaVirtualAllocate, vmaVirtualFree, vmaSetVirtualAllocationUserData, vmaGetVirtualAllocationInfo.
Added TLSF algorithm: Added VMA_POOL_CREATE_TLSF_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_TLSF_ALGORITHM_BIT.
Some internal refactoring.
Improved documentation: Grouped API elements into Doxygen modules.
Code mostly by @medranSolus.
2022-01-20 17:00:33 +01:00
Adam Sawicki
a8581fc96c
Deleted the whole Record&Replay feature. COMPATIBILITY BREAKING!
...
Removed from the API: VmaAllocatorCreateInfo::pRecordSettings, VmaRecordSettings, VmaRecordFlagBits, VmaRecordFlags.
Regenerated documentation. Updated README.
2022-01-10 18:11:09 +01:00
Adam Sawicki
0109967554
Updated documentation regarding dedicated allocations in custom pools
...
Regenerated the documentation.
2021-12-17 16:39:47 +01:00
Adam Sawicki
a8c1543723
Major refactoring - reordered sections in vk_mem_alloc.h
...
Added #ifndef _VMA_* for convenient folding in IDEs.
Regenerated docs.
2021-12-14 16:53:50 +01:00
Adam Sawicki
35eeb340a3
Renamed function vmaGetBudget to vmaGetHeapBudgets. COMPATIBILITY BREAKING!
...
Rebuilt the docs.
Closes #213
2021-12-06 17:36:18 +01:00
Adam Sawicki
f529a86ab5
Added VmaVulkanFunctions::vkGetInstanceProcAddr, vkGetDeviceProcAddr
...
These are now required when using VMA_DYNAMIC_VULKAN_FUNCTIONS. Compatibility breaking!
Closes #211
2021-11-29 17:52:30 +01:00
Adam Sawicki
fac8ef44d2
Added convenience function vmaGetAllocationMemoryProperties
...
Regenerated documentation.
2021-11-23 13:35:19 +01:00
Adam Sawicki
c809ddca76
Documented some members of VmaVulkanFunctions to clarify which functions to fetch
...
Also a fix in documentation generation and rebuilt the docs.
2021-11-05 17:41:46 +01:00
Adam Sawicki
01a0ba193a
Added documentation chapter "Virtual allocator"
...
Regenerated the documentation.
2021-10-28 18:25:57 +02:00
Adam Sawicki
e93a581969
Written documentation for API of the virtual allocator
...
Regenerated the documentation.
2021-10-28 17:36:41 +02:00
Adam Sawicki
d2f0313d20
Fixes in comments
...
Regenerated documentation.
2021-10-18 17:32:40 +02:00
Adam Sawicki
b0fce340b6
Fixes and improvements in documentation
2021-07-29 13:12:59 +02:00
Adam Sawicki
9f586a20bc
Added documentation chapter about OpenGL interop
...
Rebuilt the docs.
2021-07-28 15:25:52 +02:00
Adam Sawicki
a3d4905b1f
Moved main documentation text from the beginning to the end of file
...
Disabled VERBATIM_HEADERS in Doxyfile. Regenerated the docs.
2021-07-28 14:57:39 +02:00
Adam Sawicki
55868965ae
Fixed documentation of the new function vmaCreateBufferWithAlignment
2021-07-07 15:34:10 +02:00
Adam Sawicki
0790b5f0a9
Regenerated documentation
...
Used new Doxygen 1.9.1
2021-06-21 14:55:01 +02:00
Adam Sawicki
3528e2aed3
Minor formatting fix in documentation
...
Regenerated documentation using new Doxygen.
2020-10-15 15:04:12 +02:00
Adam Sawicki
0620c8e5e1
Add test and documentation for resource aliasing (overlap).
2020-08-18 16:43:44 +02:00
Doğukan Korkmaztürk
67bf13cd08
Fix a typo in the explanation of VMA_ALLOCATION_CREATE_MAPPED_BIT
2020-07-27 23:55:03 -04:00
Adam Sawicki
72983b0aa1
Clarified documentation in few places to mention textures need to use LINEAR layout when accessed from the host
...
Rebuilt HTML documentation. Used new Doxygen 1.8.18.
Closes #129
2020-05-08 18:43:25 +02:00
Adam Sawicki
25d9b2c0ec
Add function vmaFlushAllocations, vmaInvalidateAllocations for multiple allocations at once
...
Closes #119
Added internal class VmaSmallVector.
Refactored common code into a new function VmaAllocator_T::GetFlushOrInvalidateRange.
Regenerated docs.
2020-04-19 19:02:28 +02:00
Adam Sawicki
facf05ee63
Some fixes after fb3a337
#115
2020-04-08 17:09:59 +02:00
Adam Sawicki
f575c5070b
Further changes in importing pointers to Vulkan functions
...
Reverted change removing configuration macro VMA_STATIC_VULKAN_FUNCTIONS.
Added configuration macro VMA_DYNAMIC_VULKAN_FUNCTIONS.
Fixes for Android.
Closes #111 , also refers to #56 .
2020-03-31 19:11:41 +02:00
Adam Sawicki
451bf601d8
Bump version number to 3.0.0-development as we broken backward compatibility
...
Also rebuilt the docs.
2020-03-23 18:24:02 +01:00
Adam Sawicki
e73e988daf
Add support for buffer device address, together with documentation and tests
...
Added VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT.
2020-03-20 18:05:42 +01:00
Adam Sawicki
a1d992f5d1
Add function vmaGetAllocatorInfo, structure VmaAllocatorInfo
...
Closes #99
Also rebuilt Doxygen documentation.
2020-03-02 15:32:10 +01:00
Adam Sawicki
76004205fd
Add documentation chapter about VK_AMD_device_coherent_memory extension usage
...
Regenerated Doxygen documentation.
2020-02-07 17:18:35 +01:00
Adam Sawicki
cd7bc20429
Clarify documentation in regards to cache flush/invalidate in few places
...
See #91 , thanks @ROTARTSI82 !
2019-12-02 13:42:25 +01:00
Adam Sawicki
4670506a22
Announce version 2.3.0-alpha.1
2019-11-25 12:46:57 +01:00
Adam Sawicki
69185555f4
Add VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED
...
Closes #84
2019-11-18 17:03:34 +01:00
Adam Sawicki
c22c72fa4b
Regenerate Doxygen documentation
2019-11-18 16:39:48 +01:00
Adam Sawicki
52d0272459
Regenerate documentation, rebuild binaries
...
Switched binaries from vs2017 to vs2019.
2019-11-18 15:03:59 +01:00
Adam Sawicki
48b8a33869
Fixes and adjustments for budget, regenerate documentation
2019-11-02 15:24:33 +01:00
Adam Sawicki
4abe30c1ae
Add functions vmaBindBufferMemory2, vmaBindImageMemory2, flag VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT
...
This change adds usage of VK_KHR_bind_memory2 extension.
Also add structure members VmaVulkanFunctions::vkBindBufferMemory2KHR, vkBindImageMemory2KHR.
2019-07-02 14:37:21 +02:00
Adam Sawicki
4a4cfad2eb
Make vmaResizeAllocation deprecated, always return failure unless newSize == current size
...
Bump CSV file format version to 1,6.
2019-07-02 12:54:35 +02:00
Adam Sawicki
672f7c8e94
clarify documentation regarding limitations of defragmentation
...
#59
2019-04-17 11:53:02 +02:00
Adam Sawicki
b25a20a8da
Improved documentation for functions vkFlushMappedMemoryRanges, vkInvalidateMappedMemoryRanges.
2019-03-13 15:57:23 +01:00
Adam Sawicki
6c8b7a2c3e
Added flag VMA_ALLOCATION_CREATE_DONT_BIND_BIT.
2019-03-05 13:40:29 +01:00
Adam Sawicki
796cdc62f6
Updated documentation - added information about VK_AMD_memory_allocation_behavior extension.
...
Regenerated documentation, using new Doxygen version.
2019-01-15 11:45:58 +01:00