Commit Graph

860 Commits

Author SHA1 Message Date
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
851d5e5419 Fix typo in CHANGELOG.md 2019-12-02 17:29:51 +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
6d6b0672b5 Update CHANGELOG.md 2019-11-25 12:47:53 +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
4d700c5e4e Sample app: remove outdated comment
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/579 is now fixed so RenderDoc works with the sample app also when it uses VK_KHR_dedicated_allocation when latest Vulkan SDK is used.
2019-11-22 15:35:27 +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
c22c72fa4b Regenerate Doxygen documentation 2019-11-18 16:39:48 +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
a900b56aed
Merge pull request #87 from Nyufu/clang_cl_support
Added clang compile support on windows
2019-11-18 15:18:45 +01:00
Adam Sawicki
b6c43ebf18 VmaDumpVis: Increase image width from 800 to 1200 2019-11-18 15:12:54 +01:00
Andras Nyiscsak
641a16cc9c Added clang compile support on windows 2019-11-18 15:09:34 +01:00
Adam Sawicki
52d0272459 Regenerate documentation, rebuild binaries
Switched binaries from vs2017 to vs2019.
2019-11-18 15:03:59 +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
8317ba9d5e Sample/testing app: enable custom CPU allocation callbacks by default
Added allocation counting to make sure there are no memory leaks at the end.
2019-11-18 13:14:11 +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
ba2bdea58e Remove redundant variable VmaBlockVector::m_IsCustomPool 2019-11-18 12:42:32 +01:00
Adam Sawicki
bc266d6f09 Update Doxyfile to latest Doxygen version 2019-11-18 12:38:51 +01:00
Adam Sawicki
dd24989837 Update recording file format documentation
I forgot to commit this file.
2019-11-18 12:38:09 +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
e6e3329a58 Doxyfile: expand VMA_CALL_PRE and VMA_CALL_POST macros to remove them from documentation 2019-11-13 14:51:01 +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
5f573f588a Minor addition 2019-10-11 15:59:58 +02: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
470399abf0
Merge pull request #80 from malte-v/patch-2
Mention VulkanMemoryAllocator-Hpp in README
2019-09-30 10:38:17 +02:00
malte-v
27e426ab35
Mention VulkanMemoryAllocator-Hpp in README
Could be interesting for C++ programmers already using Vulkan-Hpp.
2019-09-28 15:17:02 +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