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
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
Adam Sawicki
b3687caab2
Merge pull request #74 from benvanik/patch-1
...
Adding a VmaVector constructor for C++11 compatibility
2019-07-26 15:14:27 +02:00
Adam Sawicki
5afe7845a1
Fix alignment of VmaPoolAllocator::Item::Value
...
Disable Visual Studio warning C4324.
See #71
2019-07-26 15:09:07 +02:00
Ben Vanik
fd5077cd36
Adding a VmaVector constructor for C++11 compatibility
...
The std::vector constructor used (count + allocator) is only available in C++14 (see: https://en.cppreference.com/w/cpp/container/vector/vector ) and compiling with C++11 and `VMA_USE_STL_VECTOR` will result in compile errors. This adds a new constructor and switches to using that for compatibility.
2019-07-25 09:32:16 -07:00
Adam Sawicki
c7e5f2e44a
Change VmaPoolAllocator to allow not-POD T type, explicitly call its constructor and destructor
...
See #71
2019-07-25 17:23:51 +02:00
Adam Sawicki
692ccba14d
Initialize structure VmaAllocator_T::m_VulkanFunctions to zeros in constructor to avoid garbage pointers
...
Fixes #73
2019-07-25 17:14:02 +02:00
Adam Sawicki
195016b034
Improve the way sizes like "32 MiB" are printed in VmaDumpVis
...
Also bumped some version numbers and dates.
2019-07-02 15:49:12 +02:00
Adam Sawicki
2024cc570a
Change default value of macro VMA_RECORDING_ENABLED to 0
...
...so that Windows.h is not included by default on Windows.
2019-07-02 15:19:05 +02:00
Adam Sawicki
4abe30c1ae
Add functions vmaBindBufferMemory2, vmaBindImageMemory2, flag VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT
...
This change adds usage of VK_KHR_bind_memory2 extension.
Also add structure members VmaVulkanFunctions::vkBindBufferMemory2KHR, vkBindImageMemory2KHR.
2019-07-02 14:37:21 +02:00