1. ef6cc40 Defragmentation: added support for memory that is HOST_VISIBLE but not HOST_COHERENT - calling Invalidate and Flush internally. by Adam Sawicki · 6 years ago
  2. f297534 Testing environment: Added class StagingBufferCollection, functions UploadGpuData, ValidateGpuData, TestGpuData, in preparation for testing defragmentation of GPU memory. by Adam Sawicki · 6 years ago
  3. fa87ae3 Small addition to documentation. by Adam Sawicki · 6 years ago
  4. 6826f2d Small refactoring: Removed function VmaBlockVector::DestroyDefragmentator. by Adam Sawicki · 6 years ago
  5. f863a1d Used VMA_RW_MUTEX in 2 other places for optimization. by Adam Sawicki · 6 years ago
  6. de9181b Added configuration macro VMA_USE_STL_SHARED_MUTEX. by Adam Sawicki · 6 years ago
  7. b0d4afb Refactored defragmentation. Added class VmaDefragmentationAlgorithm, extracted from VmaDefragmentator. by Adam Sawicki · 6 years ago
  8. 2aad902 Minor update in VmaDefragmentationInfo2. by Adam Sawicki · 6 years ago
  9. ad0989b Fixed bug in VmaAllocator_T::Defragment. by Adam Sawicki · 6 years ago
  10. 012a4ac Designed and documented new interface for defragmentation. by Adam Sawicki · 6 years ago
  11. b8d34d5 Replaced assert() with new macro TEST() in all tests, to check conditions also in Release configuration. by Adam Sawicki · 6 years ago
  12. 1f7f8af Fixed tests for NVIDIA, where it asserted with OUT_OF_MEMORY, probably due to higher alignment requirements. by Adam Sawicki · 6 years ago
  13. a7d7769 Replaced assert() with new macro TEST() in all tests, to check conditions also in Release configuration. by Adam Sawicki · 6 years ago
  14. 4868c1f Fixed tests for NVIDIA, where it asserted with OUT_OF_MEMORY, probably due to higher alignment requirements. by Adam Sawicki · 6 years ago
  15. 2e4d3ef Added BasicTestAllocatePages() - test for vmaAllocateMemoryPages, vmaFreeMemoryPages. by Adam Sawicki · 6 years ago
  16. d062b78 Added functions: vmaAllocateMemoryPages, vmaFreeMemoryPages to create and destroy multiple allocations at once. by Adam Sawicki · 6 years ago
  17. 51fa966 Wrote basic test for sparse binding. by Adam Sawicki · 6 years ago
  18. 5975c83 TravisCI - updated Vulkan SDK to 1.1.82.1. Try 4. by Adam Sawicki · 6 years ago
  19. 583129f TravisCI - updated Vulkan SDK to 1.1.82.1. Try 3. by Adam Sawicki · 6 years ago
  20. 3a3d0c4 TravisCI - updated Vulkan SDK to 1.1.82.1. Try 2. I knew there will be problems :( by Adam Sawicki · 6 years ago
  21. 419f7cd TravisCI - updated Vulkan SDK to 1.1.82.1. #1 by Adam Sawicki · 6 years ago
  22. 3ea9eb4 Updated Premake to version 5.0.0-alpha12. Switched to Visual Studio 2017. Rebuilt Windows Release executables. Rebuilt shaders with latest Vulkan SDK 1.1.82.1. by Adam Sawicki · 6 years ago
  23. 7ce9630 Improved documentation chapters: Defragmentation, vmaDefragment(), Features not supported. by Adam Sawicki · 6 years ago
  24. 6aa6255 Fixing macro VMA_VALIDATE for Linux compilation. by Adam Sawicki · 6 years ago
  25. 02246f3 CHANGING BRANCHING STRATEGY! No more "development" branch, now in-progress development will happen on "master". by Adam Sawicki · 6 years ago
  26. 072d660 Merge branch 'development' by Adam Sawicki · 6 years ago
  27. f95e85e Merge pull request #44 from hrydgard/nominmax-fix by Adam Sawicki · 6 years ago
  28. 14f7909 Avoid redefinition warnings of NOMINMAX if you've already defined it. by Henrik Rydgård · 6 years ago
  29. 3951aa5 Merge branch 'allocation_defragmentation_strategies' into development by Adam Sawicki · 6 years ago
  30. c6432d1 Buddy allocation algorithm finished and documented! by Adam Sawicki · 6 years ago
  31. 6f09752 Fixed VmaDumpVis.py to respect new "Algorithm" parameter. by Adam Sawicki · 6 years ago
  32. 0591535 VmaBlockMetadata_Buddy: Fixed allocation of Node objects to use provided CPU allocation callbacks. by Adam Sawicki · 6 years ago
  33. 1e8cf94 VmaBlockMetadata_Buddy: Added (simple way of) respecting bufferImageGranularity. by Adam Sawicki · 6 years ago
  34. 9933c5c VmaBlockMetadata_Buddy: Added respecting of allocation alignment. by Adam Sawicki · 6 years ago
  35. a01d458 VmaBlockMetadata_Buddy: Introduced m_LevelCount to limit number of levels in use by particular memory block, considering new constant MIN_NODE_SIZE. by Adam Sawicki · 6 years ago
  36. d6e6d6b VmaBlockMetadata_Buddy: Introduced concept of m_UsableSize to always use powers of two even when memory block size is not. by Adam Sawicki · 6 years ago
  37. a79d274 Added dummy implementation of VmaBlockMetadata_Buddy methods related to lost allocations. Lost allocations are not supported in buddy algorithm for now. by Adam Sawicki · 6 years ago
  38. 14d9e1a Minor optimization: Skip call to vkUnmapMemory before vkFreeMemory for dedicated allocations, which is allowed by the spec. by Adam Sawicki · 6 years ago
  39. 1e425dd Added #ifdef NOMINMAX. Thanks Krzysztof Kondrak ! by Adam Sawicki · 6 years ago
  40. c77a123 Fixed #include <windows.h> for compilation under Windows mingw64. Issue #41 thanks @turol ! by Adam Sawicki · 6 years ago
  41. df1b88d Fixed formatting string in call to fprintf in VmaRecorder::RecordCreatePool. Issue #40 thanks @baldurk ! by Adam Sawicki · 6 years ago
  42. f305aeb Fixed version number in source file. by Adam Sawicki · 6 years ago v2.1.0
  43. e929bab Prepared version 2.1.0 final. Rebuilt binaries. Updated CHANGELOG.md. Rebuilt Doxygen dovcumentation (with new Doxygen version). by Adam Sawicki · 6 years ago
  44. f7baf62 Minor updates in documentation. Added VK9 to list of known usages. Issue #39 thanks @disks86 ! by Adam Sawicki · 6 years ago
  45. 0dbbaad Minor additions, including function VmaPrevPow2. by Adam Sawicki · 6 years ago
  46. 8092715 VmaBlockMetadata_Buddy: Fixed reporting of space wasted due to internal fragmentation as unused blocks. Added test for multi-block pool with buddy algorithm. by Adam Sawicki · 6 years ago
  47. 21017c6 Implemented VmaBlockMetadata_Linear::AddPoolStats. by Adam Sawicki · 6 years ago
  48. 6540b19 Implemented VmaBlockMetadata_Buddy::GetUnusedRangeSizeMax(). by Adam Sawicki · 6 years ago
  49. a7863d9 Implemented VmaBlockMetadata_Buddy::GetSumFreeSize. by Adam Sawicki · 6 years ago
  50. 8796504 Added macro VMA_VALIDATE to simplify validation methods. Implemented proper calculation of VmaBlockMetadata_Buddy::GetAllocationCount. by Adam Sawicki · 6 years ago
  51. ca5db0b Rebuilt Doxygen documentation after upgrading Doxygen version. by Adam Sawicki · 6 years ago
  52. 4338f66 Added internal function VmaIsPow2 and asserts checking if various alignment parameters are power of 2. by Adam Sawicki · 6 years ago
  53. 6689924 Further fixes for compilation on Windows. Defined NOMINMAX for Windows.h. Issue #38 by Adam Sawicki · 6 years ago
  54. a70e05d . by Adam Sawicki · 6 years ago
  55. 24c4f45 Changed VmaBlockMetadata_Buddy::m_FreeList into a doubly linked list. Implemented merging of free blocks. Buddy allocation algorithm now works. by Adam Sawicki · 6 years ago
  56. bf1a931 Next small step: moved split logic from VmaBlockMetadata_Buddy::CreateAllocationRequest to VmaBlockMetadata_Buddy::Alloc. by Adam Sawicki · 6 years ago
  57. 447e36f Fixed missing #include <Windows.h> for cases when it's needed but macro VK_USE_PLATFORM_WIN32_KHR is not defined. Issue #38 thanks @farnoy ! by Adam Sawicki · 6 years ago
  58. a83793a Buddy allocator - more coding. by Adam Sawicki · 6 years ago
  59. abf747a Removed hack for clang compiler error. It didn't work anyway. by Adam Sawicki · 6 years ago
  60. 655b87f Small addition to documentation. by Adam Sawicki · 6 years ago
  61. c4227e5 Fixes warning: field 'm_Blocks' will be initialized after field 'm_HasEmptyBlock' [-Wreorder] #37 Thanks @TheLavaBlock ! by Adam Sawicki · 6 years ago
  62. 6d9d718 TEMP started coding buddy algorithm. by Adam Sawicki · 6 years ago
  63. 0a3fb6c Tests: benchmark of linear allocator now compares to various allocation strategies. by Adam Sawicki · 6 years ago
  64. 33d2ce7 Added writing results of linear allocator benchmark to file "LinearAllocator.csv". by Adam Sawicki · 6 years ago
  65. 740b08f Testing environment: Improved formatting of CSV faile with results of main benchmark. by Adam Sawicki · 6 years ago
  66. 1d2d627 Merge branch 'master' into allocation_defragmentation_strategies by Adam Sawicki · 6 years ago
  67. c7d1b58 Fixes for compilation under Linux gcc and clang. #2 by Adam Sawicki · 6 years ago v2.1.0-beta.1
  68. 6277abb Fixes for compilation under Linux gcc and clang. by Adam Sawicki · 6 years ago
  69. 2b3e416 Merge branch 'development' by Adam Sawicki · 6 years ago
  70. 2cf37c8 Minor fixes in CHANGELOG.md. by Adam Sawicki · 6 years ago
  71. eaab97c Rebuilt binaries again. by Adam Sawicki · 6 years ago
  72. c5b223f VmaAllocator_T::FreeMemory: Fixed synchronization bug for cases when an allocation becomes lost at the same time as it is being freed. by Adam Sawicki · 6 years ago
  73. a5d5ffa Updated CHANGELOG.md. Recompiled binaries and Doxygen documentation. by Adam Sawicki · 6 years ago
  74. 751f146 Updated date next to version number. by Adam Sawicki · 6 years ago
  75. 7ec3930 Documentation "Introduction" - added paragraph about macros define before including headers. Issue #36 Thanks @chaoticbob ! by Adam Sawicki · 6 years ago
  76. 53e9239 Merge commit '70a683e53fcc3a8733a0876617f212e0a66ae7c7' into development by Adam Sawicki · 6 years ago
  77. 0667e33 Added allocation strategy to main benchmark. by Adam Sawicki · 6 years ago
  78. 1852036 Added VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT, WORST_FIT, FIRST_FIT, and aliases: VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT, MIN_TIME, MIN_FRAGMENTATION. by Adam Sawicki · 6 years ago
  79. 70a683e Added support for multiple Vulkan memory blocks in custom pools with VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT. Works with free-at-once and stack, doesn't work with double stack or ring buffer. by Adam Sawicki · 6 years ago
  80. 6897d82 Documented recent change in CHANGELOG.md. by Adam Sawicki · 6 years ago
  81. ee79c63 VmaDumpVis.py: Fixed wrong visualization of custom pools that have multiple blocks. by Adam Sawicki · 6 years ago
  82. 90eb51c Changed behavior of custom pools: VmaPoolCreateInfo::blockSize 0 (default) now means that pool may use variable block sizes, just like default pools do. by Adam Sawicki · 6 years ago
  83. f9b6868 Described version 2.1.0-beta.1 in CHANGELOG.md. by Adam Sawicki · 6 years ago
  84. 4c6e9e8 Linear allocation algorithm is finished! Recompiled binaries, regenerated Doxygen documentation. Announcing version 2.1.0-beta.1. by Adam Sawicki · 6 years ago
  85. 0a60713 Added benchmark for linear allocator. by Adam Sawicki · 6 years ago
  86. dedab85 Documented linear allocation algorithm. Added "Linear allocation algorithm" documentation chapter. by Adam Sawicki · 6 years ago
  87. cba11e8 Deleted temporary code. by Adam Sawicki · 6 years ago
  88. 477b22e Added 'LinearAlgorithm' member to JSON dump format and its usage in VmaDumpVis.py. by Adam Sawicki · 6 years ago
  89. 35e9aca Minor refactoring. by Adam Sawicki · 6 years ago
  90. d0100e9 Ensured that allocations from pools with linear algorithm are ignored in vmaDefragment. by Adam Sawicki · 6 years ago
  91. 0270b98 Optimized VmaBlockMetadata_Linear::FreeAtOffset to use binary search. by Adam Sawicki · 6 years ago
  92. bc7fea6 Implemented VmaBlockMetadata_Linear::CheckCorruption. by Adam Sawicki · 6 years ago
  93. 53d96e8 Minor addition to VmaBlockMetadata_Linear::Validate. by Adam Sawicki · 6 years ago
  94. 2bd9903 Implemented VmaBlockMetadata_Linear::GetUnusedRangeSizeMax. by Adam Sawicki · 6 years ago
  95. 51b0e82 Implemented VmaBlockMetadata_Linear::GetSumFreeSize. by Adam Sawicki · 6 years ago
  96. 1f6c388 Optimized VmaBlockVector::Allocate for certain cases. by Adam Sawicki · 6 years ago
  97. 0dec444 Minor fixes. by Adam Sawicki · 6 years ago
  98. f799c4f Introduced a rule that custom pool with linear algorithm must have maxBlockCount = 1 (or 0 for default). by Adam Sawicki · 6 years ago
  99. 0ebdf0c Implemented vmaMakePoolAllocationsLost for pools with linear allocator. by Adam Sawicki · 6 years ago
  100. 8cfe05f Added support for lost allocations in ring buffer. by Adam Sawicki · 6 years ago