Commit Graph

159 Commits

Author SHA1 Message Date
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
fbb465c2bc Fixed documentation about OpenGL interop
Added information about dedicated allocations now supported in custom pools.
2021-12-20 13:05:24 +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
e5c03604c9 Improvements in documentation 2021-12-03 18:04:34 +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
e1813512c5 Made virtual allocations not applying VMA_DEBUG_MARGIN
Improved and regenerated documentation.
2021-10-30 23:29:01 +02: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
db163b0d5c Removed unused variable
Also updated and regenerated documentation.
Closes #188
2021-07-28 12:08:22 +02:00
Adam Sawicki
55868965ae Fixed documentation of the new function vmaCreateBufferWithAlignment 2021-07-07 15:34:10 +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
Adam Sawicki
0ef61c2fd5 Fix in documentation chapter "Finding out if memory is mappable"
Fixes #143
2020-08-18 14:20:37 +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
aaa1a56167 Clarify documentation of VmaAllocationInfo::size
Added test for it. Regenerated documentation.
2020-06-24 17:41:09 +02: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
c8eec757fd Minor addition to the documentation regarding allocation string names 2019-12-18 13:37:38 +01:00
Adam Sawicki
e9bfb539d8 Publish version 2.3.0 final
Updated version number. Regenerated Release binaries and Doxygen documentation.
2019-12-04 14:26:59 +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
2024cc570a Change default value of macro VMA_RECORDING_ENABLED to 0
...so that Windows.h is not included by default on Windows.
2019-07-02 15:19:05 +02: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
543ba5baec Minor fix in documentation regarding CSV recording 2019-07-02 12:37:36 +02:00
Adam Sawicki
af88c1bde1 Fix tests and documentation to use vmaBind* instead of vkBind* functions after defragmentation 2019-07-02 12:34:26 +02:00