Adam Sawicki
e9c083b4d2
Added support for dedicated allocations in custom pools
...
A major refactoring.
JSON format changed!
2021-12-17 11:00:00 +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
2ba419e8e4
Refactoring - created class VmaDedicatedAllocationList
2021-12-10 17:58:53 +01:00
Adam Sawicki
5c8b3ba955
Fixes in CMakeLists.txt files
...
Added header files, added NATVIS file, added missing project dependencies.
2021-12-07 16:48:59 +01:00
Adam Sawicki
d3067c3620
Improved NATVIS file - added support for VmaIntrusiveLinkedList usage
2021-12-07 16:48:07 +01:00
Adam Sawicki
7df5ecf6e2
Merge pull request #214 from yaoyao-cn/fix0
...
fix crash in VmaAllocator_T::AllocateDedicatedMemory
2021-12-07 10:04:51 +01:00
yao.zhao
3dd4b203f9
fix crash in VmaAllocator_T::AllocateDedicatedMemory
2021-12-07 13:23:32 +08: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
4687f53764
Internal optimization in traversal of VmaBlockMetadata_Generic::m_Suballocations
2021-12-06 15:20:44 +01:00
Adam Sawicki
4cd813a8c6
Added flag VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT
2021-12-06 12:14:13 +01:00
Adam Sawicki
e5c03604c9
Improvements in documentation
2021-12-03 18:04:34 +01:00
Adam Sawicki
4e4e1c085d
Added parameters -t --Test and -s -TestSparseBinding to the test app, to execute tests and exit.
2021-12-03 12:13:44 +01:00
Adam Sawicki
d74155933e
Improvements in CMakeLists.txt
2021-12-03 11:37:36 +01:00
Adam Sawicki
b4d341de13
Internal optimization with m_pBlockVectors
2021-12-02 16:39:27 +01:00
Adam Sawicki
ad9c5bf8d7
Improvement in CMakeLists.txt
2021-12-02 16:38:48 +01:00
Adam Sawicki
2854266061
Fix in TestHeapSizeLimit
2021-12-02 16:38:35 +01:00
Adam Sawicki
2cddc30813
Merge branch 'master' into development
2021-12-01 11:01:22 +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
00d064e21e
Added a comment after #207
2021-11-25 14:30:41 +01:00
Adam Sawicki
43d82a168f
Merge pull request #207 from scribam/sdk-compatibility
...
Compatibility fix with old sdks where VK_ERROR_UNKNOWN is not defined
2021-11-25 14:28:48 +01:00
Adam Sawicki
92d2142222
Merge pull request #210 from hrydgard/readme-update
...
Add PPSSPP to the "Software using this library" section of README.md
2021-11-25 10:14:29 +01:00
Henrik Rydgård
547aae4a51
Add PPSSPP to the "Software using this library" section of README.md
2021-11-25 09:06:17 +01:00
Adam Sawicki
fac8ef44d2
Added convenience function vmaGetAllocationMemoryProperties
...
Regenerated documentation.
2021-11-23 13:35:19 +01:00
Adam Sawicki
55553cff34
Merge pull request #209 from JustSid/patch-2
...
Added X-Plane to the list of software using VMA
2021-11-23 09:58:30 +01:00
Sidney Just
5e452b9d13
Added X-Plane to the list of software using VMA
...
The X-Plane Vulkan renderer is build around VMA as its memory allocation backend and has been shipping since late 2019. We make heavy use of the defragmentation feature and have very aggressive streaming of world data as well as texture paging. Planes are quite fast and earth is quite large, so we constantly move memory around and dynamically adjust things as the memory budget grows or shrinks and the user moves around. It's absolutely rock solid on top of VMA :)
2021-11-22 11:56:49 -08:00
scribam
7e5a1d0859
Compatibility fix with old sdks where VK_ERROR_UNKNOWN is not defined
2021-11-16 23:07:57 +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
5d92e2074a
Fixing TravisCI (Linux) CI #2
2021-11-03 13:49:16 +01:00
Adam Sawicki
cdd38bffdc
Fixing TravisCI (Linux) CI
2021-11-03 13:45:43 +01:00
Adam Sawicki
225d44cc73
Merge pull request #206 from expipiplus1/ellie-name
...
Correct Haskell bindings author name
2021-11-03 10:08:52 +01:00
Adam Sawicki
c7564fed98
Merge pull request #205 from expipiplus1/ellie-typedef
...
Add typedefs for virtual allocation structs in ordinary identifier namespace
2021-11-03 10:02:49 +01:00
Ellie Hermaszewska
986e96b9fa
Correct Haskell bindings author name
2021-11-03 13:24:41 +08:00
Ellie Hermaszewska
38a632f9b3
Add typedefs for virtual allocation structs in ordinary identifier namespace
2021-11-03 10:12:24 +08:00
Adam Sawicki
a62ffd4b92
Fixed icon of Travis CI Linux build in README
2021-10-30 23:44:42 +02:00
Adam Sawicki
cba6a2ba10
Fix for compilation on Linux
2021-10-30 23:36:24 +02:00
Adam Sawicki
187954c327
Added mention of virtual allocator to README
2021-10-30 23:32:57 +02:00
Adam Sawicki
2f28b5ec42
Merge branch 'feature-virtual-allocator'
2021-10-30 23:29:53 +02: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
bcd5f57deb
Fixes to various bugs found during extensive testing
2021-10-30 23:03:20 +02:00
Adam Sawicki
3f19f8ae39
Optimized VmaBlockMetadata_Buddy - using VmaPoolAllocator to allocate nodes
2021-10-30 12:51:36 +02:00
Adam Sawicki
41296759b9
Refactoring: Added function VmaAddStatInfoAllocation, VmaAddStatInfoUnusedRange
...
Submitting improved tests.
2021-10-30 12:44:40 +02:00
Adam Sawicki
455823fcbf
Improved VmaBlockMetadata_Buddy when used as a virtual allocator, to support allocation sizes down to 1
2021-10-30 12:26:09 +02:00
Adam Sawicki
fc23b9da1f
Removed VMA_MIN_FREE_SUBALLOCATION_SIZE_TO_REGISTER to simplify the code
...
VmaBlockMetadata_Generic now aligns allocation sizes to a multiply of 16 instead, except when used as virtual allocator. This also allows to use virtual allocator with sizes smaller than 16.
2021-10-30 12:20:46 +02:00
Adam Sawicki
56f7b4c223
Added support for VMA_VIRTUAL_BLOCK_CREATE_BUDDY_ALGORITHM_BIT
2021-10-30 12:05:37 +02:00
Adam Sawicki
62a25b6b4c
Changed behavior of buddy allocator to align allocation sizes to power of 2 instead of accounting the remaining space (internal fragmentation) as free
...
Also fixed major bug in VmaBlockMetadata_Buddy::CalcAllocationStatInfoNode.
2021-10-30 11:41:29 +02:00
Adam Sawicki
c24517fd92
Added support for VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT
...
Fixed major bug in VmaBlockMetadata_Linear::CalcAllocationStatInfo. Necessary refactoring.
2021-10-30 11:12:15 +02:00
Adam Sawicki
0e37526f94
Implemented VmaBlockMetadata_Linear::Clear
...
A step towards enabling virtual allocator with linear algorithm.
2021-10-29 16:37:58 +02:00
Adam Sawicki
73ff8e07d1
Preparations for adding support for alternative algorithms in virtual blocks and tests for them
2021-10-28 19:20:12 +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