Commit Graph

143 Commits

Author SHA1 Message Date
Adam Sawicki
2e900cae54 Added functions vmaAllocateMemoryPages, vmaFreeMemoryPages to VmaRecorder and VmaReplay. Bumped recording file format version to 1.5.
Support for sparse binding is now finished and ready!
2018-12-06 14:26:50 +01:00
Adam Sawicki
6a6d8c6ea2 Merge branch 'master' into sparse_binding_example
# Conflicts:
#	docs/html/vk__mem__alloc_8h.html
#	docs/html/vk__mem__alloc_8h_source.html
#	src/Tests.cpp
#	src/VulkanSample.cpp
#	src/vk_mem_alloc.h
2018-12-05 13:20:32 +01:00
Adam Sawicki
3b392258e2 Documentation: Added mention of VK_AMD_memory_overallocation_behavior extension. 2018-11-20 11:33:07 +01:00
Adam Sawicki
48a12aa835 Merge branch 'master' into allocation_defragmentation_strategies
# Conflicts:
#	docs/html/vk__mem__alloc_8h_source.html
#	src/Tests.cpp
#	src/vk_mem_alloc.h
2018-11-16 14:36:57 +01:00
Adam Sawicki
99f2d3543c Minor update in documentation. 2018-11-16 13:48:11 +01:00
Adam Sawicki
7f97202add Updated documentation of memory mapping with known bug in MoltenVK, based on #47. Thanks @DiegoAce ! 2018-11-16 13:43:34 +01:00
Adam Sawicki
b0c363693f Added function vmaResizeAllocation.
Added tests: function TestResize. Bumped CSV recording file format version to 1.4.
2018-11-13 16:17:38 +01:00
Adam Sawicki
7a6e442b66 Fixes in documentation: "Features not supported". 2018-11-08 18:46:04 +01:00
Adam Sawicki
fc9db8dda7 Minor addition to documentation. #46 2018-10-18 12:03:50 +02:00
Adam Sawicki
fa87ae34a6 Small addition to documentation. 2018-10-15 18:15:11 +02:00
Adam Sawicki
012a4ac697 Designed and documented new interface for defragmentation.
Added: VmaDefragmentationContext, VmaDefragmentationFlagBits, VmaDefragmentationFlags, VmaDefragmentationInfo2, vmaDefragmentationBegin(), vmaDefragmentationEnd(). Extended VmaDefragmentationStats by allocationsLost. Deprecated VmaDefragmentationInfo2, vmaDefragment().
2018-10-09 13:25:01 +02:00
Adam Sawicki
d062b784d3 Added functions: vmaAllocateMemoryPages, vmaFreeMemoryPages to create and destroy multiple allocations at once. 2018-10-03 15:26:22 +02:00
Adam Sawicki
7ce9630bbf Improved documentation chapters: Defragmentation, vmaDefragment(), Features not supported. 2018-09-28 14:51:09 +02:00
Adam Sawicki
3951aa5bc3 Merge branch 'allocation_defragmentation_strategies' into development
# Conflicts:
#	docs/html/search/all_f.js
#	docs/html/vk__mem__alloc_8h.html
#	docs/html/vk__mem__alloc_8h_source.html
#	src/vk_mem_alloc.h
2018-09-21 16:48:42 +02:00
Adam Sawicki
c6432d1d45 Buddy allocation algorithm finished and documented! 2018-09-21 16:44:16 +02:00
Adam Sawicki
f305aebdfd Fixed version number in source file. 2018-09-10 14:07:32 +02:00
Adam Sawicki
e929bab5d8 Prepared version 2.1.0 final. Rebuilt binaries. Updated CHANGELOG.md. Rebuilt Doxygen dovcumentation (with new Doxygen version). 2018-09-10 11:14:05 +02:00
Adam Sawicki
ca5db0b8a5 Rebuilt Doxygen documentation after upgrading Doxygen version. 2018-09-07 14:58:49 +02:00
Adam Sawicki
a5d5ffafe2 Updated CHANGELOG.md. Recompiled binaries and Doxygen documentation. 2018-08-27 11:05:24 +02:00
Adam Sawicki
f9b6868cf1 Described version 2.1.0-beta.1 in CHANGELOG.md.
Minor fixes in documentation.
2018-08-24 12:13:37 +02:00
Adam Sawicki
4c6e9e81bc Linear allocation algorithm is finished! Recompiled binaries, regenerated Doxygen documentation. Announcing version 2.1.0-beta.1. 2018-08-24 11:23:37 +02:00
Adam Sawicki
dedab850e9 Documented linear allocation algorithm. Added "Linear allocation algorithm" documentation chapter. 2018-08-23 15:00:58 +02:00
Adam Sawicki
62c0090112 Recompiled binaries. Bumped version number to Version 2.1.0-alpha.4. 2018-08-22 11:54:36 +02:00
Adam Sawicki
cb4e8da23b Updated file format to 1,3. Added configuration section. 2018-08-21 17:56:25 +02:00
Adam Sawicki
2556b377f7 Record and replay: Added support for function vmaMakePoolAllocationsLost. 2018-08-21 12:04:19 +02:00
Adam Sawicki
fd64a60957 Added documentation of the whole "Record and replay" feature to Doxygen docs and README.md. 2018-08-21 11:38:32 +02:00
Adam Sawicki
80cb2365c5 Added recording and replaying of calls to functions: vmaTouchAllocation, vmaGetAllocationInfo. VmaReplay: fixed handling of null allocation. 2018-08-21 10:59:53 +02:00
Adam Sawicki
b3ea2c62f1 "Recording file format.md": added example file. 2018-08-21 10:45:23 +02:00
Adam Sawicki
3eb870d6d6 Added documentation for new code elements related to recording. Added "Recording file format.md" file. 2018-08-20 17:53:02 +02:00
Adam Sawicki
e44c62684d Added debug macro VMA_DEBUG_INITIALIZE_ALLOCATIONS to initialize contents of allocations with a bit pattern. Documented it. Added test for it.
Fixed some indentation.
2018-06-15 14:30:39 +02:00
Adam Sawicki
212a4a6567 Added new feature: corruption detection. Added debug macro VMA_DEBUG_DETECT_CORRUPTION, functions vmaCheckCorruption, vmaCheckPoolCorruption 2018-06-14 15:51:47 +02:00
Adam Sawicki
776ae0d5f8 Improved support for non-coherent memory. Added functions: vmaFlushAllocation, vmaInvalidateAllocation. nonCoherentAtomSize is respected automatically. Issue #27 Thanks @egdaniel !
Also added VmaVulkanFunctions::vkFlushMappedMemoryRanges, vkInvalidateMappedMemoryRanges. Fixed bug with uninitialized VmaPool_T::m_Id.
2018-06-08 17:11:12 +02:00
Adam Sawicki
d9bdd6cf78 Added "LastUseFrameIndex" to JSON dump. Changed behavior of vmaGetAllocationInfo, vmaTouchAllocation to update allocation.lastUseFrameIndex even if allocation cannot become lost. Documented it. 2018-05-16 16:17:18 +02:00
Adam Sawicki
5391e6c7fa Improved logic of vmaFindMemoryTypeIndex for some cases, especially integrated GPUs. 2018-04-06 17:22:33 +02:00
Adam Sawicki
9bb910e63c Updates in documentation. 2018-04-06 17:04:28 +02:00
Adam Sawicki
5a51732c47 Added link to my GDC talk. 2018-04-03 12:28:11 +02:00
Adam Sawicki
be9436868e Regenerated documentation. 2018-03-13 17:38:40 +01:00
Adam Sawicki
ba335cf8c0 Fixed threading bug with mapping vs binding. Added functions vmaBindBufferMemory, vmaBindImageMemory. Removed class VmaDeviceMemoryMapping. Minor fixes in documentation. 2018-03-13 14:59:12 +01:00
Adam Sawicki
57fa5580c0 Documentation: Added "Recommended usage patterns" chapter. 2018-03-12 17:46:49 +01:00
Adam Sawicki
20622c6cfd Documented VmaAllocator, VmaAllocation, VmaPool. 2018-03-12 16:33:53 +01:00
Adam Sawicki
93ef5c2340 Minor addition to documentation. 2018-03-12 16:06:10 +01:00
Adam Sawicki
2283f4287a Minor fix in documentation. 2018-03-12 16:01:00 +01:00
Adam Sawicki
d8359cd295 Documentation: Written "Statistics" chapter. 2018-03-12 15:58:23 +01:00
Adam Sawicki
727e8b269f More documentation. Refactored table of contents. 2018-03-12 15:34:32 +01:00
Adam Sawicki
ec421f8763 Created documentation chapter "General considerations". 2018-03-12 13:27:31 +01:00
Adam Sawicki
e915c1b6e3 Updated documentation chapter about lost allocations. 2018-03-12 13:23:06 +01:00
Adam Sawicki
7568dfce76 Written more documentation - about lost allocations. 2018-03-09 18:18:34 +01:00
Adam Sawicki
67a2328f8c Written more documentation. 2018-03-09 18:01:03 +01:00
Adam Sawicki
95451ab2a6 Written more documentation. 2018-03-09 17:49:19 +01:00
Adam Sawicki
359793763a Many minor formatting tweaks in documentation. 2018-03-09 17:35:48 +01:00
Adam Sawicki
b31aac8a06 Minor fix bool -> VkBool32 on interface. 2018-03-06 10:34:15 +01:00
Adam Sawicki
9ecb59e847 Version 2.0.0-alpha.8. Added functions: vmaTouchAllocation, vmaFindMemoryTypeIndexForBufferInfo, vmaFindMemoryTypeIndexForImageInfo. 2018-03-05 18:20:23 +01:00
Adam Sawicki
65231e3975 Minor fix in documentation. 2018-03-02 13:17:01 +01:00
Adam Sawicki
0c11b12574 More documentation. Especially added new section "Finding out if memory is mappable". 2018-03-02 13:05:39 +01:00
Adam Sawicki
a3e019d476 Written new contents of "Mapping memory" documentation chapter. 2018-03-01 12:19:37 +01:00
Adam Sawicki
c793ba342f Minor update in documentation. 2018-02-22 18:23:29 +01:00
Adam Sawicki
d566e37e22 Improved documentation - added "Custom memory pools" > "Choosing memory type index" 2018-02-19 17:28:35 +01:00
Adam Sawicki
20e500e3d0 Improved documentation of VmaMemoryUsage. 2018-02-12 15:12:32 +01:00
Adam Sawicki
a82e18346e Version 2.0.0-alpha.7. Removed VmaAllocatorCreateInfo::preferredSmallHeapBlockSize. VmaBlockVector::Allocate: New algorithm that allocates 1/8, 1/4, 1/2 of preferred block size as first blocks, to save memory. 2018-02-09 16:52:05 +01:00
Adam Sawicki
defbf3d975 Minor fix in documentation. 2018-01-23 13:58:07 +01:00
Adam Sawicki
4426bfbc19 Updated year to 2018. 2018-01-22 18:18:24 +01:00
Adam Sawicki
594a56260f Added VmaAllocationCreateInfo::memoryTypeBits. Wrote more documentation, including new page "Choosing memory type". 2017-11-21 15:01:29 +01:00
Adam Sawicki
50cc36fbfc Improved documentation of VmaAllocatorCreateInfo::pHeapSizeLimit. 2017-11-21 12:38:55 +01:00
Adam Sawicki
c353ad0717 Version 2.0.0-alpha.6. Added VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT. 2017-11-13 15:03:04 +01:00
Adam Sawicki
5268dbbce5 Version 2.0.0-alpha.5. Major change in memory mapping - now it's internally reference-counted.
Renamed flag VMA_ALLOCATION_CREATE_PERSISTENT_MAP_BIT to VMA_ALLOCATION_CREATE_MAPPED_BIT.
See documentation of vmaMapMemory().
2017-11-08 12:52:05 +01:00
Adam Sawicki
0fcf86292b Documentation: changed page identifier to lowercase to (hopefully) fix 404 error on GitHub. 2017-10-17 15:13:48 +02:00
Adam Sawicki
3057956f31 Minor improvements in documentation. 2017-10-17 12:14:41 +02:00
Adam Sawicki
07a7deb09d Improvements in documentation formatting. 2017-10-17 12:07:39 +02:00
Adam Sawicki
c005a84e37 Added documentation for VK_KHR_dedicated_allocation extension. 2017-10-17 11:57:56 +02:00
Adam Sawicki
d08dc0cd6a Reorganized Doxygen documentation into more separate pages. 2017-10-17 11:27:14 +02:00
Adam Sawicki
5db51b1264 Added support for VMA_ALLOCATION_CREATE_PERSISTENT_MAP_BIT without HOST_VISIBLE.
Implemented usage of VK_KHR_dedicated_allocation.
Renamed "own allocation" to "dedicated allocation" everywhere.
2017-10-02 18:31:03 +02:00
Adam Sawicki
1bb85fa719 Added support for VMA_ALLOCATION_CREATE_PERSISTENT_MAP_BIT without HOST_VISIBLE. Improved empty block heuristics. 2017-10-02 14:28:51 +02:00
Adam Sawicki
951f66a841 Improvements in documentation 2017-09-27 14:14:42 +02:00
Adam Sawicki
c7b3e7c85d Updated documents - added links to GitHub repository and GPUOpen product page. 2017-09-27 13:40:58 +02:00
Adam Sawicki
40fd505639 Refactored some code from class VmaDeviceMemoryBlock to new class VmaBlockMetadata. 2017-09-25 16:44:48 +02:00
Adam Sawicki
42af34a3b2 Renamed members of VmaStatInfo structure to start with lower case, to make it consistent with overall style. Compatibility breaking! 2017-09-25 15:46:47 +02:00
Adam Sawicki
067f9082a8 Some improvements in documentation. 2017-09-25 15:29:34 +02:00
Adam Sawicki
5c9047dbaa Added VmaPoolStats::unusedRangeSizeMax. 2017-09-25 15:24:31 +02:00
Adam Sawicki
19d74084f3 Improvements in documentation. Moved general description to README.md. 2017-09-25 15:07:34 +02:00
Adam Sawicki
eaf60ee784 Minor fixes around macro VMA_STATIC_VULKAN_FUNCTIONS (thanks @realitix!) #2 2017-09-25 10:35:40 +02:00
Adam Sawicki
ab0b39a783 Added structure VmaVulkanFunctions, macro VMA_STATIC_VULKAN_FUNCTIONS. 2017-09-22 16:57:38 +02:00
Adam Sawicki
118049cda8 Added feature: VmaAllocatorCreateInfo::pHeapSizeLimit. 2017-09-19 11:38:01 +02:00
Adam Sawicki
976f920c15 Version 2.0.0-alpha.3 - major update. 2017-09-12 20:45:14 +02:00
Adam Sawicki
89f6e44635 Fixed vmaCreateBuffer, vmaCreateImage to always return null as *pBuffer, *pImage, *pAllocation of not succeeded. Fixed that in documentation as well. 2017-08-09 13:06:41 +02:00
Adam Sawicki
73fb4aa325 Clarified documentation of vmaUnmapPersistentlyMappedMemory function (thanks @bobvodka) 2017-07-18 16:24:24 +02:00
Adam Sawicki
0851377d4e Merge branch 'v2' 2017-07-13 16:14:04 +02:00
Adam Sawicki
9e1684f87a Small fix in documentation. 2017-07-11 15:27:08 +02:00
Adam Sawicki
988ac4c05d Updated version number to 2.0.0-alpha.2. Regenerated Doxygen documentation. 2017-07-11 15:22:12 +02:00
Adam Sawicki
5197efc676 Version 1.0.1 release. 2017-07-04 15:28:48 +02:00
Adam Sawicki
8bc1a7df83 Changed "CONFIGURATION SECTION" to contain #ifndef so you can define these macros before including this header, not necessarily change them in the file. 2017-07-04 15:22:57 +02:00
Adam Sawicki
0a41b12c10 Added CHANGELOG.md. Introduced semantic versioning - current version is 1.0.0. 2017-07-04 14:03:54 +02:00
Adam Sawicki
9137407734 Small addition to the documentation. 2017-06-20 12:52:26 +02:00
Adam Sawicki
9b3adfc9d0 Generated Doxygen documentation into docs/ directory. 2017-06-20 11:17:23 +02:00