Commit Graph

1200 Commits

Author SHA1 Message Date
Adam Sawicki
cad2acc080 Merge remote-tracking branch 'origin/master' 2022-01-24 14:59:22 +01:00
Adam Sawicki
518907bbc5 Optimized bit functions, added intrinsics for GCC and Clang
Code by @medranSolus
2022-01-24 14:58:42 +01:00
Adam Sawicki
6e22ae3109
Merge pull request #224 from TheLavaBlock/fix-win32-build
Fix build - 64 bit functions do not exist
2022-01-24 12:24:54 +01:00
Lava Block
5c08c6498f Fix build - 64 bit functions do not exist 2022-01-24 12:13:08 +01:00
Adam Sawicki
12d128d8f7 Added debug printing of unfreed allocation
Closes #130

Also made fixes for compilation errors on Android - see #223

Code by @medranSolus
2022-01-24 11:25:03 +01:00
Adam Sawicki
f88a69ba1c
Merge pull request #222 from TheLavaBlock/fix-win-build
Fix build - removed usage of DWORD type
2022-01-24 09:36:57 +01:00
Lava Block
b99c428aef Fix build - removed usage of DWORD type 2022-01-21 18:28:15 +01:00
Adam Sawicki
8da08d160a Minor internal fix - removed usage of DWORD type 2022-01-21 13:06:40 +01:00
Adam Sawicki
f451b94158 Fixed vmaBuildVirtualBlockStatsString, vmaFreeVirtualBlockStatsString to also be inside #if VMA_STATS_STRING_ENABLED
Updated copyright headers for to year 2022.

Change by @medranSolus
2022-01-21 12:56:18 +01:00
Adam Sawicki
2ae5466b2e Merge remote-tracking branch 'origin/master' 2022-01-20 17:02:00 +01:00
Adam Sawicki
d3a85f0dc3 Refactored virtual allocator. (COMPATIBILITY BREAKING!) Added TLSF algoritym.
Refactored virtual allocator: Added type VmaVirtualAllocation, member VmaVirtualAllocationInfo::offset, changed parameters of vmaVirtualAllocate, vmaVirtualFree, vmaSetVirtualAllocationUserData, vmaGetVirtualAllocationInfo.

Added TLSF algorithm: Added VMA_POOL_CREATE_TLSF_ALGORITHM_BIT, VMA_VIRTUAL_BLOCK_CREATE_TLSF_ALGORITHM_BIT.

Some internal refactoring.

Improved documentation: Grouped API elements into Doxygen modules.

Code mostly by @medranSolus.
2022-01-20 17:00:33 +01:00
Adam Sawicki
eccbce26d8
Merge pull request #221 from laurelkeys/patch-1
Fix MSVC warning C4505 for VmaCreateStringCopy
2022-01-14 17:56:51 +01:00
Tiago Chaves
f333006465
Fix MSVC warning C4505 for VmaCreateStringCopy 2022-01-14 11:31:30 -03:00
Adam Sawicki
4f24cf28c8
Merge pull request #220 from expipiplus1/master
Add missing length annotation to pBudgets parameter in vmaGetHeapBudgets
2022-01-14 10:11:46 +01:00
Ellie Hermaszewska
15b16f88b9
Add missing length annotation to pBudgets parameter in vmaGetHeapBudgets 2022-01-14 16:40:40 +08:00
Adam Sawicki
c5870ad3c2 Forgot to delete VmaReplay.exe 2022-01-12 12:57:02 +01:00
Adam Sawicki
992e545749 Fixed bugs after merge 2022-01-10 18:13:43 +01:00
Adam Sawicki
a8581fc96c Deleted the whole Record&Replay feature. COMPATIBILITY BREAKING!
Removed from the API: VmaAllocatorCreateInfo::pRecordSettings, VmaRecordSettings, VmaRecordFlagBits, VmaRecordFlags.
Regenerated documentation. Updated README.
2022-01-10 18:11:09 +01:00
Adam Sawicki
1e97603ab8 Deleted the whole feature of lost allocations. COMPATIBILITY BREAKING!
Removed from the interface: VMA_ALLOCATION_CREATE_CAN_BECOME_LOST_BIT, VMA_ALLOCATION_CREATE_CAN_MAKE_OTHER_LOST_BIT, vmaCreateLostAllocation, vmaMakePoolAllocationsLost, vmaTouchAllocation, VmaAllocatorCreateInfo::frameInUseCount, VmaPoolCreateInfo::frameInUseCount.

Also fixed a bug with synchronization in VmaDedicatedAllocationList.
2022-01-10 17:57:11 +01:00
Adam Sawicki
5453c4b5eb Fixed compilation of tests. 2022-01-07 14:27:36 +01:00
Adam Sawicki
6f73bc1b81 Removed VmaPoolStats::unusedRangeSizeMax. COMPATIBILITY BREAKING! 2022-01-07 14:23:05 +01:00
Adam Sawicki
204fcdc0a3 Minor fixes
Closes #217
2022-01-05 18:49:32 +01:00
Adam Sawicki
c61770a162 Fixed CMakeLists.txt regarding VMA_DYNAMIC_VULKAN_FUNCTIONS, VMA_STATIC_VULKAN_FUNCTIONS
Closes #218
2022-01-05 18:41:51 +01:00
Adam Sawicki
35bc050aa3 Fixed typo in code 2022-01-05 17:37:30 +01:00
Adam Sawicki
7c48285034 Removed VMA_USE_STL_CONTAINERS 2021-12-22 14:57:18 +01:00
Adam Sawicki
cbad11e039 Fixed vmaGetPoolStats for dedicated allocations
Added new tests: TestPoolsAndAllocationParameters.
2021-12-22 14:50:49 +01:00
Adam Sawicki
6fe7212e73 Improved documentation of vmaMapMemory function 2021-12-21 16:50:33 +01:00
Adam Sawicki
556834c0b4 Fixed creation and displaying of JSON memory dump for dedicated allocations in custom pools. 2021-12-21 16:23:13 +01:00
Adam Sawicki
9bb70bef1b Added comments documenting class VmaJsonWriter 2021-12-21 11:31:25 +01:00
Adam Sawicki
fbb465c2bc Fixed documentation about OpenGL interop
Added information about dedicated allocations now supported in custom pools.
2021-12-20 13:05:24 +01:00
Adam Sawicki
0109967554 Updated documentation regarding dedicated allocations in custom pools
Regenerated the documentation.
2021-12-17 16:39:47 +01:00
Adam Sawicki
4586be47d8 Fixed usage of VMA_STATIC_VULKAN_FUNCTIONS, VMA_DYNAMIC_VULKAN_FUNCTIONS in CmakeLists.txt
Fixes #215
2021-12-17 12:11:06 +01:00
Adam Sawicki
e9c083b4d2 Added support for dedicated allocations in custom pools
A major refactoring.
JSON format changed!
2021-12-17 11:00:00 +01:00
Adam Sawicki
a8c1543723 Major refactoring - reordered sections in vk_mem_alloc.h
Added #ifndef _VMA_* for convenient folding in IDEs.
Regenerated docs.
2021-12-14 16:53:50 +01:00
Adam Sawicki
2ba419e8e4 Refactoring - created class VmaDedicatedAllocationList 2021-12-10 17:58:53 +01:00
Adam Sawicki
5c8b3ba955 Fixes in CMakeLists.txt files
Added header files, added NATVIS file, added missing project dependencies.
2021-12-07 16:48:59 +01:00
Adam Sawicki
d3067c3620 Improved NATVIS file - added support for VmaIntrusiveLinkedList usage 2021-12-07 16:48:07 +01:00
Adam Sawicki
7df5ecf6e2
Merge pull request #214 from yaoyao-cn/fix0
fix crash in VmaAllocator_T::AllocateDedicatedMemory
2021-12-07 10:04:51 +01:00
yao.zhao
3dd4b203f9 fix crash in VmaAllocator_T::AllocateDedicatedMemory 2021-12-07 13:23:32 +08:00
Adam Sawicki
35eeb340a3 Renamed function vmaGetBudget to vmaGetHeapBudgets. COMPATIBILITY BREAKING!
Rebuilt the docs.
Closes #213
2021-12-06 17:36:18 +01:00
Adam Sawicki
4687f53764 Internal optimization in traversal of VmaBlockMetadata_Generic::m_Suballocations 2021-12-06 15:20:44 +01:00
Adam Sawicki
4cd813a8c6 Added flag VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT 2021-12-06 12:14:13 +01:00
Adam Sawicki
e5c03604c9 Improvements in documentation 2021-12-03 18:04:34 +01:00
Adam Sawicki
4e4e1c085d Added parameters -t --Test and -s -TestSparseBinding to the test app, to execute tests and exit. 2021-12-03 12:13:44 +01:00
Adam Sawicki
d74155933e Improvements in CMakeLists.txt 2021-12-03 11:37:36 +01:00
Adam Sawicki
b4d341de13 Internal optimization with m_pBlockVectors 2021-12-02 16:39:27 +01:00
Adam Sawicki
ad9c5bf8d7 Improvement in CMakeLists.txt 2021-12-02 16:38:48 +01:00
Adam Sawicki
2854266061 Fix in TestHeapSizeLimit 2021-12-02 16:38:35 +01:00
Adam Sawicki
2cddc30813 Merge branch 'master' into development 2021-12-01 11:01:22 +01:00
Adam Sawicki
f529a86ab5 Added VmaVulkanFunctions::vkGetInstanceProcAddr, vkGetDeviceProcAddr
These are now required when using VMA_DYNAMIC_VULKAN_FUNCTIONS. Compatibility breaking!

Closes #211
2021-11-29 17:52:30 +01:00