Adam Sawicki
aa18374368
Updated copyright header to year 2021.
...
Rebuilt binaries, regenerated documentation.
2021-02-16 17:28:49 +01:00
Adam Sawicki
f2012055cc
Added support for VK_EXT_memory_priority
...
Added VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT, VmaAllocationCreateInfo::priority, VmaPoolCreateInfo::priority.
See #160
2021-01-11 18:04:42 +01:00
Adam Sawicki
0620c8e5e1
Add test and documentation for resource aliasing (overlap).
2020-08-18 16:43:44 +02:00
Adam Sawicki
db4c1639bf
Fix compilation errors
2020-07-16 16:41:53 +02:00
Adam Sawicki
aaa1a56167
Clarify documentation of VmaAllocationInfo::size
...
Added test for it. Regenerated documentation.
2020-06-24 17:41:09 +02:00
Adam Sawicki
e73e988daf
Add support for buffer device address, together with documentation and tests
...
Added VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT.
2020-03-20 18:05:42 +01:00
Adam Sawicki
fbaccff808
Minor tweak in TestHeapSizeLimit to pass on AMD integrated graphics which has only 200 MB of DEVICE_LOCAL memory
2020-03-09 17:09:23 +01:00
Adam Sawicki
6a93b8aa5f
Protection against incorrect (0 or very large) memory budget returned by some bugged drivers
...
2 other minor fixes.
2020-03-09 16:58:18 +01:00
Adam Sawicki
a1d992f5d1
Add function vmaGetAllocatorInfo, structure VmaAllocatorInfo
...
Closes #99
Also rebuilt Doxygen documentation.
2020-03-02 15:32:10 +01:00
Adam Sawicki
508825012c
Add support for VK_AMD_device_coherent_memory extension
...
- Added VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT.
- Fixed bug generating validation layers error when the extension is not enabled.
- Updated date in copyright header comments to year 2020.
2020-02-07 16:51:31 +01:00
Adam Sawicki
c467e28f2f
Renames in the library and fixes in tests for the new defragmentation
2019-12-23 16:38:31 +01:00
Adam Sawicki
a52012de37
Prototype of a defragmentation interface that supports tiling optimal images
...
Merged #90 thanks @JustSid !
2019-12-23 15:28:51 +01:00
Adam Sawicki
ddcbf8cdba
Fix management of m_HasEmptyBlock by adding VmaBlockVector::UpdateHasEmptyBlock().
...
Also added TestPool_MinBlockCount().
2019-11-22 15:22:42 +01:00
Adam Sawicki
69185555f4
Add VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED
...
Closes #84
2019-11-18 17:03:34 +01:00
Adam Sawicki
efa88c4de0
Add VMA_MEMORY_USAGE_CPU_COPY for memory that is preferably not DEVICE_LOCAL but not guaranteed to be HOST_VISIBLE
...
Also added test for memory types and usages.
2019-11-18 16:33:56 +01:00
Adam Sawicki
4ac8ff89c2
Multiple fixes in budget management
...
Including correct handling of lost allocation.
2019-11-18 14:47:33 +01:00
Adam Sawicki
b68b368c67
Merge branch 'master' into MemoryBudget
2019-11-18 13:15:18 +01:00
Adam Sawicki
b3f5110987
Fix TestHeapSizeLimit to work on Radeon R7 APU with 256 MB of DEVICE_LOCAL memory
2019-11-18 13:05:56 +01:00
Adam Sawicki
49defd6056
Further development of custom pool names
2019-11-18 11:45:30 +01:00
Adam Sawicki
48b8a33869
Fixes and adjustments for budget, regenerate documentation
2019-11-02 15:24:33 +01:00
Adam Sawicki
a020fb81cb
Add prototype function vmaGetName, vmaSetName, change JSON format and VmaDumpVis.py to use that
2019-11-02 14:43:06 +01:00
Adam Sawicki
353e3675d3
Further development of budget management
2019-11-02 14:12:05 +01:00
Adam Sawicki
40ffe988a0
Add struct VmaBudget, function vmaGetBudget
...
Changed the way HeapSizeLimit is handled to better one.
Added VMA_ATOMIC_UINT64.
2019-10-11 15:56:02 +02:00
Adam Sawicki
1f84f62a85
Fix sample application to also pass VkAllocationCallbacks to Vulkan, not only to VMA
...
Also remove function TestResize, no longer working or needed.
2019-07-02 13:40:01 +02:00
Adam Sawicki
af88c1bde1
Fix tests and documentation to use vmaBind* instead of vkBind* functions after defragmentation
2019-07-02 12:34:26 +02:00
Adam Sawicki
daa6a551f8
Fix VmaAllocator_T::AllocateMemory for case when VMA_ALLOCATION_CREATE_MAPPED_BIT is used with custom memory pool created in memory type that is not VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
...
Also add test for it - function TestDeviceLocalMapped.
2019-06-25 15:26:37 +02:00
Adam Sawicki
94ce3d7da2
Update premake5 to latest version; rebuild binaries using Visual Studio 2019
...
Fix missing include in Tests.cpp.
2019-04-17 14:59:25 +02:00
Adam Sawicki
a1f727c9d0
Fixed compilation of Tests.cpp.
2019-01-24 16:25:11 +01:00
Adam Sawicki
4d844e2d29
Minor fixes in both the library and tests.
2019-01-24 16:21:05 +01:00
Adam Sawicki
4d35a5d663
Fixed bugs in VmaBlockMetadata_Linear::MakeAllocationsLost, VmaBlockVector::IsCorruptionDetectionEnabled.
2019-01-24 15:51:59 +01:00
Adam Sawicki
fd366b60b4
Minor fixes in tests. Found a bug. Minor refactoring - added VmaAllocationRequestType. Fixed minor bug in VmaBlockMetadata_Linear::CreateAllocationRequest_LowerAddress.
2019-01-24 15:26:43 +01:00
Adam Sawicki
ae5c4661ec
Updated copyright headers after New Year.
2019-01-02 10:23:35 +01:00
Adam Sawicki
bdb89a93eb
Final fixes before v2.2.0 release. Minor fixes after tests. Rebuilt binaries and documentation again.
2018-12-13 11:56:30 +01:00
Adam Sawicki
1a8424f41a
Preparations for v2.0.0 release. Updated version numbers. Rebuilt binaries and documentation.
2018-12-13 11:01:16 +01:00
Adam Sawicki
71db590d7d
Merge branch 'sparse_binding_example' into v2.2
...
# Conflicts:
# docs/html/vk__mem__alloc_8h_source.html
# src/Tests.cpp
# src/VmaReplay/VmaReplay.cpp
# src/VulkanSample.cpp
# src/vk_mem_alloc.h
2018-12-10 14:45:56 +01:00
Adam Sawicki
5c8af7b8b2
Rebuilt binary and Doxygen documentation.
2018-12-10 13:34:54 +01:00
Adam Sawicki
2af57d7f47
Fixed bug in VmaBlockMetadata_Generic::IsBufferImageGranularityConflictPossible. Another minor fix.
2018-12-06 15:35:05 +01:00
Adam Sawicki
978fcf54ab
Testing environment: Added class StagingBufferCollection, functions UploadGpuData, ValidateGpuData, TestGpuData, in preparation for testing defragmentation of GPU memory.
...
# Conflicts:
# src/Tests.cpp
# src/VulkanSample.cpp
2018-12-05 14:38:48 +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
647cf24b7f
VmaDefragmentationAlgorithm_Fast: Added support for memmove() of overlapping memory regions when defragmenting on CPU.
2018-11-23 17:58:00 +01:00
Adam Sawicki
e168191f3d
Added test for defragmentation of empty pool.
2018-11-23 17:50:12 +01:00
Adam Sawicki
9a4f508f88
Added VmaDefragmentationAlgorithm_Fast - fast path for defragmentation, a completely new algorithm.
2018-11-23 17:26:05 +01:00
Adam Sawicki
52076ebf26
Added VmaDefragmentationInfo2::poolCount, pPools. Added test for it - TestDefragmentationWholePool. Removed VmaDefragmentationStats::allocationsLost. Optimized defragmentation algorithm.
2018-11-22 16:14:50 +01:00
Adam Sawicki
c6ede15fab
Written test for various defragmentation algorithms, in TestDefragmentationGpu.
2018-11-16 17:04:14 +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
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
370ab184f8
Changed functions to validate and return VK_ERROR_VALIDATION_FAILED_EXT when trying to allocate memory of size 0, create buffer with size 0, or image with one of the dimensions 0.
...
That's because vkCreateBuffer returns VK_SUCCESS for buffer with size = 0, so VMA then proceeded to allocation of size 0, which is a critical error, checked by an assert, but apparently some users don't enable asserts in VMA.
Added tests: function TestInvalidAllocations.
2018-11-08 16:31:00 +01:00
Adam Sawicki
057040085c
Tests
2018-11-08 16:07:29 +01:00
Adam Sawicki
440307e6bc
Fixed TestDefragmentationGpu() - it was test that was buggy. Defragmentation of GPU memory is working!!! - a major milestone :D
2018-10-18 15:05:19 +02:00
Adam Sawicki
ff0f7b8254
Added TestDefragmentationGpu. Not passing - apparently there is some bug...
2018-10-18 14:44:05 +02:00