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
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
Adam Sawicki
2b9ee46c40
Merge pull request #201 from GermanAizek/patch
...
Code refactor (lower scope, local var, default constructor and destructor)
2021-10-19 17:13:53 +02:00
semenov_gv
666b38f11f
Code refactor (lower scope, local var, default constructor and destructor)
2021-10-18 18:36:13 +03:00
Adam Sawicki
d2f0313d20
Fixes in comments
...
Regenerated documentation.
2021-10-18 17:32:40 +02:00
Adam Sawicki
895b080a3c
Merge branch 'master' of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2021-10-06 14:59:27 +02:00
Sawicki, Adam
63e256bc9f
Merge branch 'master' into 'master'
...
Doxygen fixes
See merge request gpuopen/GPUOpen-LibrariesAndSDKs/vulkanmemoryallocator!2
2021-10-06 12:52:20 +00:00
Lukasz Izdebski
0796855a52
doxygen directory fix
2021-10-06 14:30:47 +02:00
Lukasz Izdebski
b61b9ad443
doxygen generation fix
2021-10-06 14:08:24 +02:00
Sawicki, Adam
9ea407e6ad
Merge branch 'master' into 'master'
...
Doxygen added to CMake, shader project dependency added to Sample Project
See merge request gpuopen/GPUOpen-LibrariesAndSDKs/vulkanmemoryallocator!1
2021-10-06 11:41:57 +00:00
Lukasz Izdebski
cf6b1a9270
Doxygen added to CMake, shader project dependency added to Sample Project
2021-10-06 13:30:04 +02:00
Adam Sawicki
ed45770c0f
Merge pull request #198 from danielkrupinski/master
...
Replace tabs with spaces
2021-09-30 14:36:57 +02:00
Daniel Krupiński
39106c64bb
Replace tabs with spaces
2021-09-30 14:34:47 +02:00
Adam Sawicki
6bdc8e1bf8
Merge pull request #197 from danielkrupinski/master
...
Use forwarding references with std::forward()
2021-09-30 12:07:04 +02:00