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
Adam Sawicki
c6432507c5
Implemented vmaBuildVirtualBlockStatsString, vmaFreeVirtualBlockStatsString
2021-10-28 17:00:17 +02:00
Adam Sawicki
dfa2051cd2
Improvement in vmaCreateAllocator in case creation fails
2021-10-28 16:17:07 +02:00
Adam Sawicki
cc61fe10d8
Implemented vmaClearVirtualBlock
2021-10-28 16:03:09 +02:00
Adam Sawicki
9a091e8ccb
Implemented vmaCalculateVirtualBlockStats
2021-10-28 15:00:24 +02:00
Adam Sawicki
72949fa9d8
Enabled more tests
2021-10-28 14:54:07 +02:00
Adam Sawicki
e1812303d6
More coding and more tests. Basic functionality is working now.
2021-10-28 14:46:45 +02:00
Adam Sawicki
dc644281ac
Essential refactoring that made the test not crashing.
2021-10-28 14:36:59 +02:00
Adam Sawicki
54b7eccc35
More implementation and first tests.
...
Crashing for now - need more refactoring.
2021-10-28 14:32:34 +02:00
Adam Sawicki
7acc6c0ca8
Defined interface for virtual allocator:
...
VmaVirtualBlockCreateFlagBits, VmaVirtualBlockCreateFlags, VmaVirtualBlockCreateInfo, VmaVirtualAllocationCreateInfo, VmaVirtualBlock, all necessary functions.
Implementation: added VmaVirtualBlock_T. Not working for now.
2021-10-28 13:51:12 +02:00
Adam Sawicki
642bbfd793
Fixed TestInvalidAllocations
2021-10-27 16:45:19 +02:00
Adam Sawicki
3216bf6dc7
Necessary refactoring to prepare for virtual allocator
2021-10-27 16:45:08 +02:00
Adam Sawicki
e821342782
Fixing logic of VmaDefragmentationAlgorithm_Fast::PostprocessMetadata broken by #201
...
Closes #202
2021-10-21 13:37:10 +02:00