Adam Sawicki
1b8bdb216e
Remove unused variable in VmaBlockVector::AllocatePage
...
Fixes #101
2020-03-11 17:08:42 +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
Frank Richter
c534e61379
Typo fix
2020-03-08 13:24:06 +01:00
Adam Sawicki
003451e52d
Fixes in VmaAllocator_T::ImportVulkanFunctions
...
Hopefully fix Android #56
2020-03-02 15:52:24 +01:00
Adam Sawicki
8ef0d201ef
Merge branch 'Vulkan1_2'
2020-03-02 15:43:47 +01:00
Adam Sawicki
74ef41e66b
Bump version number and date
2020-03-02 15:34:32 +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
76004205fd
Add documentation chapter about VK_AMD_device_coherent_memory extension usage
...
Regenerated Doxygen documentation.
2020-02-07 17:18:35 +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
82ec4439c7
Minor fix: Use std::forward with parameter pack
2020-01-31 11:32:51 +01:00
Adam Sawicki
aaba2109f9
Refactoring: Use constructor and destructor in VmaAllocation_T
...
VmaPoolAllocator supports that. Needed to only use parameter pack to pass arguments to constructor.
2020-01-31 11:19:32 +01:00
Adam Sawicki
cdd30bb46d
Prepare to support Vulkan 1.2
...
No way to test for now because no Vulkan SDK available.
2020-01-20 17:19:41 +01:00
Sidney Just
f91dd04a1e
Fixed incorrect for loop in ProcessDefragmetnations() that would lead to partial defragmentation passes being broken
2020-01-12 15:51:33 -08:00
Lava Block
361fcfcae4
Fix C++17 shared_mutex compile error
...
In C++17 the method is called: https://en.cppreference.com/w/cpp/thread/shared_mutex/try_lock_shared
2019-12-29 17:12:36 +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
c8eec757fd
Minor addition to the documentation regarding allocation string names
2019-12-18 13:37:38 +01:00
Adam Sawicki
7f708dbd44
Use NDEBUG instead of _DEBUG macro to detect debug build
...
Closes #92 thanks @daemyung !
2019-12-18 10:54:28 +01:00
Adam Sawicki
e9bfb539d8
Publish version 2.3.0 final
...
Updated version number. Regenerated Release binaries and Doxygen documentation.
2019-12-04 14:26:59 +01:00
Adam Sawicki
7d6544dc73
Merge branch 'master' of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2019-12-02 13:42:35 +01:00
Adam Sawicki
cd7bc20429
Clarify documentation in regards to cache flush/invalidate in few places
...
See #91 , thanks @ROTARTSI82 !
2019-12-02 13:42:25 +01:00
Adam Sawicki
5f94eae63d
Fix bug in VmaAllocator_T::AllocateVulkanMemory for case when HeapSizeLimit is used
...
Closes #89 - thanks @JustSid !
2019-11-28 11:52:30 +01:00
Adam Sawicki
023976ad24
Minor fix: Add missing mutex lock to VmaBlockVector::IsEmpty
2019-11-26 11:48:06 +01:00
Adam Sawicki
4670506a22
Announce version 2.3.0-alpha.1
2019-11-25 12:46:57 +01:00
Adam Sawicki
1296e2db4d
VmaReplay: Switch to Vulkan 1.1
...
Recording file format version bumped to 1.8 to support "VulkanApiVersion".
VmaReplay now uses Vulkan 1.1 by default and so it removes parameter --VK_KHR_dedicated_allocation.
2019-11-25 11:13:53 +01:00
Adam Sawicki
10f68cb139
Vulkan 1.1 suport - prototype
2019-11-22 17:41:59 +01:00
Adam Sawicki
7ba02ec56e
Minor improvement
2019-11-22 15:28:06 +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
a63e37c656
Add support for memory budget to record&replay system
2019-11-18 13:40:03 +01:00
Adam Sawicki
b68b368c67
Merge branch 'master' into MemoryBudget
2019-11-18 13:15:18 +01:00
Adam Sawicki
ba2bdea58e
Remove redundant variable VmaBlockVector::m_IsCustomPool
2019-11-18 12:42:32 +01:00
Adam Sawicki
aeb9836f4c
Finish implementation of vmaSetPoolName, vmaGetPoolName
...
vmaSetPoolName was added to recording format. Recording format version was bumped to 1.7. #82
2019-11-18 12:34:54 +01:00
Adam Sawicki
49defd6056
Further development of custom pool names
2019-11-18 11:45:30 +01:00
Adam Sawicki
b85ff83bf3
Add budget information to JSON dump
...
Doesn't require detailedMap=VK_TRUE.
2019-11-15 17:47:16 +01:00
Adam Sawicki
4f900cd1b3
Delete empty block unconditionally if budget is exceeded.
...
Also fixed crash when freeing lost allocation.
2019-11-13 15:20:31 +01:00
Adam Sawicki
48b8a33869
Fixes and adjustments for budget, regenerate documentation
2019-11-02 15:24:33 +01:00
Adam Sawicki
27c84e2464
Merge remote-tracking branch 'origin/MemoryBudget' into MemoryBudget
...
# Conflicts:
# src/vk_mem_alloc.h
2019-11-02 15:16:00 +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
bc95d25c7f
Add draft of general documentation chapter about memory budget
...
Work in progress...
2019-10-31 16:03:25 +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
6ac1d3a4b7
Improve implementation of function VmaStringBuilder::AddNumber
2019-10-11 12:23:51 +02:00
Adam Sawicki
909f36b714
Fix for aligned_alloc for Windows GCC
...
As discussed in ff9ac65fe2
2019-09-16 11:28:24 +02:00
Adam Sawicki
bbdcdae100
Merge pull request #75 from dreamer/steam-runtime-compilation-error
...
Use fallback aligned_alloc for pre-C++17 glibc++
2019-09-06 14:52:30 +02:00
Adam Sawicki
5c2c7f3e7a
Add macros VMA_CALL_PRE, VMA_CALL_POST to easily declare public functions as exported
...
Fixes #76
2019-09-06 14:46:48 +02:00
Patryk Obara
ff9ac65fe2
Use fallback aligned_alloc for older glibc++
...
This function was introduced in C++17, then backported to older versions
of glibc++ library, but is not available in older releases (it's missing
from Ubuntu 12.04 derived SteamRT for example).
2019-08-15 13:23:13 +02:00
Adam Sawicki
91d019523f
Add comment to the new VmaVector constructor
...
See #74
2019-07-26 15:16:04 +02:00