Commit Graph

730 Commits

Author SHA1 Message Date
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
36af654b84
Merge pull request #100 from res2k/docs
Typo fix
2020-03-09 15:11:21 +01:00
Frank Richter
c534e61379 Typo fix 2020-03-08 13:24:06 +01:00
Adam Sawicki
e8a8544322 Sample application: Print physical device parameters like deviceID and deviceName 2020-03-06 14:48:30 +01:00
Adam Sawicki
a4f2eb9d45 Don't enable extensions that are promoted to core Vulkan 1.1
Add PrintEnabledFeatures to print which features and extensions are enabled on console.
2020-03-06 14:39:42 +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
67f9dfa963 Update Vulkan SDK version in TravisCI configuration 2020-02-07 17:24:12 +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
1a63ebc860 Rebuild binaries using Visual Studio 2017 instead of 2019
Added information about Microsoft Redistributable installer to README.md.
2020-01-24 11:46:09 +01:00
Adam Sawicki
9151e50c86 Rebuild binaries using Visual Studio 2017 instead of 2019
Added information about Microsoft Redistributable installer to README.md.
2020-01-24 11:43:36 +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
Adam Sawicki
b98cba1cf3
Merge pull request #97 from JustSid/master
Fixed incorrect for loop in ProcessDefragmetnations()
2020-01-17 16:07:55 +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
Adam Sawicki
d0e55f9b7f
Merge pull request #95 from TheLavaBlock/master
Fix C++17 shared_mutex compile error
2019-12-30 13:24:44 +01: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
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