Adam Sawicki
c195e40baa
More development of buffer suballocation
...
Introduced dedicated suballocations - always used for now.
Started writing documentation.
2023-02-02 17:57:04 +01:00
Adam Sawicki
5714fa69a9
Defined interface, first version.
2023-01-27 18:09:26 +01:00
Adam Sawicki
cb5bf6452c
Minor fix in documentation
...
Regenerated the documentation using Doxygen 1.9.5.
2022-11-04 17:02:24 +01: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
Adam Sawicki
6b098e457e
Small but important fix in the documentation
2022-03-14 18:05:55 +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
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
3fd264ae1d
Added usage of vkGetDeviceBufferMemoryRequirements, vkGetDeviceImageMemoryRequirements from Vulkan 1.3
...
Used inside vmaFindMemoryTypeIndexForBufferInfo, vmaFindMemoryTypeIndexForImageInfo when available.
Added these 2 functions to VmaVulkanFunctions structure.
Regenerated the docs.
2022-02-17 17:34:48 +01:00
Adam Sawicki
c168e42de4
Rebuilt the docs
2022-02-17 14:44:48 +01:00
Adam Sawicki
4d65f7e113
Updated first chapter of the documentation "Quick start"
...
Rebuilt the docs.
Closes #228
2022-02-07 16:58:10 +01:00
Adam Sawicki
22485a05f9
Improved behavior of vmaVirtualAllocate on failed allocation. Fixed VmaVirtualAllocation to distinguish VK_NULL_HANDLE from successful allocation.
...
Improved tests.
Rebult the docs.
2022-02-04 11:39:56 +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
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
d2f0313d20
Fixes in comments
...
Regenerated documentation.
2021-10-18 17:32:40 +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
db163b0d5c
Removed unused variable
...
Also updated and regenerated documentation.
Closes #188
2021-07-28 12:08:22 +02:00
Adam Sawicki
e92f989423
Added VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes
2021-07-07 14:52: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