Adam Sawicki
55ad7acfdd
Added logic to prefer small buffers as committed to save memory
...
Added ALLOCATOR_FLAG_DONT_PREFER_SMALL_BUFFERS_COMMITTED.
Added new test, fixed other tests.
Regenerated documentation.
2024-02-12 14:18:30 +01:00
Adam Sawicki
3a53ed061b
Updated Doxyfile for Doxygen 1.9.6
...
Regenerated documentation.
2023-05-02 12:52:24 +02:00
Adam Sawicki
9f7b03d244
Fixed behavior when ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED is used and ALLOCATION_DESC::ExtraHeapFlags contains D3D12_HEAP_FLAG_CREATE_NOT_ZEROED
...
It will use default pools now.
See #47
Also regenerated documentation.
2022-12-29 14:21:46 +01:00
Adam Sawicki
fbbfa4b14d
Renamed the new member to POOL_DESC::ResidencyPriority
2022-12-15 16:32:24 +01:00
Adam Sawicki
396d871e4d
Bumped version number because of the addition to the API
2022-12-15 16:24:05 +01:00
Adam Sawicki
ad4dbc18fd
Added POOL_DESC::Priority
2022-12-15 16:23:26 +01:00
Adam Sawicki
7597f717c7
Fixed a bug in the documentation
...
Regenerated HTML documentation using new Doxygen 1.9.5.
2022-10-26 15:17:25 +02:00
Adam Sawicki
434fd4eba4
Minor fixes. Updated to Doxygen 1.9.4.
2022-06-14 15:22:23 +02:00
Adam Sawicki
d6ff05eb2a
Updated documentation regarding thread safety of defragmentation
2022-04-19 16:42:07 +02:00
Adam Sawicki
6a61103936
Releasing version 2.0.1
2022-04-05 14:35:35 +02:00
Adam Sawicki
2d7d710944
Added missing changes
2022-03-30 13:23:01 +02:00
Adam Sawicki
3365a2d0e1
Added documentation section "Resource reference counting"
2022-03-30 13:22:03 +02:00
Adam Sawicki
ce48386e5c
Added test for JSON dump with custom pools and their names
2022-03-29 15:09:17 +02:00
Adam Sawicki
17f992a0ad
Updated version number and CHANGELOG.md
...
Regenerated documentation and executable.
2022-03-25 11:33:00 +01:00
Adam Sawicki
d0cc54c5ad
Added documentation chapter about defragmentation
2022-03-15 11:32:07 +01:00
Adam Sawicki
2fd8ea323a
Added ALLOCATOR_FLAG_DEFAULT_POOLS_NOT_ZEROED
...
Code by @medranSolus
2022-03-14 14:40:22 +01:00
Adam Sawicki
fbd11f01ae
Added ALLOCATION_FLAG_CAN_ALIAS flag to prevent from using committed allocations on aliasing resources.
...
Code by @medranSolus
2022-03-14 14:30:34 +01:00
Adam Sawicki
d2639287ed
Added defragmentation.
...
Added enum DEFRAGMENTATION_FLAGS, struct DEFRAGMENTATION_DESC, enum DEFRAGMENTATION_MOVE_OPERATION, struct DEFRAGMENTATION_MOVE, struct DEFRAGMENTATION_PASS_MOVE_INFO, struct DEFRAGMENTATION_STATS, class DefragmentationContext, methods Pool::BeginDefragmentation, Allocator::BeginDefragmentation.
Added flags ALLOCATION_FLAG_STRATEGY_MIN_MEMORY = ALLOCATION_FLAG_STRATEGY_BEST_FIT, ALLOCATION_FLAG_STRATEGY_MIN_TIME = ALLOCATION_FLAG_STRATEGY_FIRST_FIT, ALLOCATION_FLAG_STRATEGY_MIN_OFFSET, ALLOCATION_FLAG_STRATEGY_MASK.
Added flags VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_MEMORY, VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_TIME, VIRTUAL_ALLOCATION_FLAG_STRATEGY_MIN_OFFSET, VIRTUAL_ALLOCATION_FLAG_STRATEGY_MASK
Added members Allocation::GetAlignment, SetResource, SetPrivateData, GetPrivateData, ALLOCATION_DESC::pPrivateData.
Renamed ALLOCATION_CALLBACKS::pUserData to pPrivateData, VirtualBlock::SetAllocationUserData to SetAllocationPrivateData.
Code by @medranSolus
2022-03-11 16:46:19 +01:00
Adam Sawicki
647f109a84
Added documentation chapter "Versioning and compatibility"
2022-02-26 13:26:44 +01:00
Adam Sawicki
ae2ea0b293
Fixes in the documentation
2022-02-24 17:13:16 +01:00
Adam Sawicki
f3af1d9a30
Finished major refactoring of the statistics and budget API. COMPATIBILITY BREAKING!
...
See structures: Statistics, DetailedStatistics, TotalStatistics, Budget.
Functions: Allocator::GetMemoryCapacity, GetBudget, CalculateStatistics,
Pool::GetStatistics, CalculateStatistics,
VirtualAllocation::GetStatistics, CalculateStatistics.
Updated and rebuilt the docs.
2022-02-24 16:02:04 +01:00
Adam Sawicki
3a3b44555a
Added possibility to choose different allocation algorithm in custom pools and virtual blocks.
...
Changed behavior of VirtualBlock::Allocate, FreeAllocation: VirtualAllocation::AllocHandle = 0 (not UINT64_MAX) now means null allocation.
Ported linear allocation algorithm from VMA.
Renamed VIRTUAL_ALLOCATION_INFO members to uppercase Offset, Size.
Fixed D3D12MA_DEBUG_MARGIN not to be applied to virtual allocator.
Added test for D3D12MA_DEBUG_MARGIN (ported from VMA).
Code mostly by @medranSolus
Updated and rebuilt documentation.
2022-02-04 13:22:45 +01:00
Adam Sawicki
e99d1c9687
Added VirtualAllocation for VirtualBlock describing single allocation. COMPATIBILITY BREAKING!
...
Moved to using AllocHandle as unique identifier for single allocation instead of offset.
Changed D3D12_DEBUG_MARGIN to only be present at the end of each allocation.
Removed unused BlockMetadata::GetUnusedRangeSizeMax().
Added TLSF allocation algorithm - unused for now.
Code by @medranSolus
2022-02-01 12:31:35 +01:00
Adam Sawicki
4488fa2a73
Improved and rebuilt documentation
2021-12-03 18:08:24 +01:00
Adam Sawicki
30b84395a1
Fixes to Cmake
...
Regenerated HTML documentation
2021-10-06 14:35:03 +02:00
Adam Sawicki
f985d4ac8f
Moved main documentation text from the beginning to the end of header file
...
Disabled VERBATIM_HEADERS in Doxyfile. Regenerated the docs.
2021-07-28 15:44:27 +02:00
Adam Sawicki
c1001f79ea
Updated and rebuilt documentation
...
Also rebuilt the library.
See #7
2021-07-26 21:29:05 +02:00
Adam Sawicki
18eab0d226
Trying the fix online documentation
2021-06-18 17:10:46 +02:00
Adam Sawicki
77768b0cd3
Pushing Doxygen-generated HTML documentation to be browsable online
2021-06-18 16:33:04 +02:00
Adam Sawicki
8d07472608
Add documentation chapter "Resource aliasing (overlap)"
2020-08-18 17:14:45 +02:00