Adam Sawicki
37423ffd7e
Added virtual destructor to class IUnknownImpl
2021-11-03 13:22:58 +01:00
Adam Sawicki
54f99001d2
Remove unnecessary annotations from IUnknownImpl::QueryInterface
2021-10-06 11:31:26 +02:00
Daniel Krupiński
a082e0367f
Use 'using' declaration instead of 'typedef' for creating type aliases
2021-09-16 20:24:12 +02:00
Daniel Krupiński
c7f46dd322
Do not typedef enums
2021-09-16 20:12:48 +02:00
Daniel Krupiński
48521a1f8e
Preserve comments explaining empty destructors
2021-09-16 19:21:19 +02:00
Daniel Krupiński
074d7b446a
Do not define empty non-virtual destructors
2021-09-15 21:10:40 +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
7642634a62
BREAKING CHANGE: Made all public classes COM-compatible - inheriting from IUnknown, reference counting
2021-07-26 21:18:52 +02:00
Adam Sawicki
3e2af61832
Minor fix in documentation
2021-06-18 16:48:43 +02:00
Adam Sawicki
77768b0cd3
Pushing Doxygen-generated HTML documentation to be browsable online
2021-06-18 16:33:04 +02:00
Adam Sawicki
ea913f3849
Added POOL_DESC::MinAllocationAlignment
2021-06-18 16:17:16 +02:00
Adam Sawicki
e37363c0f1
Added documentation about committed allocations in custom pools
...
Also a small improvement in TestStandardCustomCommittedPlaced.
2021-03-22 11:33:29 +01:00
Adam Sawicki
49fb8acf85
Removed Pool::SetMinBytes, Allocator::SetDefaultHeapMinBytes (compatibility breaking!)
...
More refactoring. Added private enum ResourceClass.
2021-03-19 13:25:07 +01:00
Adam Sawicki
9d6ccc289d
Refactoring - added class CommittedAllocationList
2021-03-17 17:26:29 +01:00
Adam Sawicki
cf6c586e57
Added documentation chapter "Custom memory pools"
2021-03-11 14:17:56 +01:00
Adam Sawicki
35e67c8562
Added Allocator::IsUMA, IsCacheCoherentUMA
...
Also fixes in TestDevice4.
2021-03-11 13:40:24 +01:00
Adam Sawicki
18b8827ef9
Merge branch 'master' into feature-custom-heap-type
...
# Conflicts:
# src/D3D12MemAlloc.h
2021-03-10 14:23:30 +01:00
Adam Sawicki
ff55a25199
Fixed #include of DXGI header
...
Fixes #13
2021-03-10 14:15:25 +01:00
Adam Sawicki
ae6c3ab6c4
Added support for D3D12_HEAP_TYPE_CUSTOM to custom pools. Unfinished.
...
Replaced member POOL_DESC::HeapType with HeapProperties. Compatibility breaking!
Incrased constant HEAP_TYPE_COUNT to 4.
2021-03-10 14:12:23 +01:00
Adam Sawicki
3a335d55c9
Optimization: committed allocations are on an intrusive double linked list not sorted vector
...
Added class IntrusiveLinkedList, struct CommittedAllocationListItemTraits.
2021-03-03 16:34:58 +01:00
Adam Sawicki
5457bcdaee
Minor fix in documentation
2021-02-16 17:44:14 +01:00
Adam Sawicki
2898fadfb4
Changed default heap size to 64 MB
2021-02-16 17:37:09 +01:00
Adam Sawicki
322bba84d9
Updated copyright headers to year 2021
2021-02-16 17:32:24 +01:00
Adam Sawicki
6a963fbdbb
Added Allocator::CreateResource2
2020-11-04 15:23:30 +01:00
Adam Sawicki
ebf4f8de09
Improvement in predefined value of D3D12MA_DXGI_1_4 macro
2020-11-04 14:21:40 +01:00
Adam Sawicki
3fe3ee520d
Added Allocator::CreateResource1, AllocateMemory1
2020-11-04 14:16:44 +01:00
Adam Sawicki
3bd061da36
More imrovements and additions in documentation.
2020-11-03 16:55:25 +01:00
Adam Sawicki
06619626d0
Improved documentation.
2020-11-03 15:38:08 +01:00
Adam Sawicki
169895d529
Change logic of Allocator::CreateResource so that an interface other than ID3D12Resource can be requested
...
Wrote test for it.
2020-08-18 17:44:10 +02:00
Adam Sawicki
8d07472608
Add documentation chapter "Resource aliasing (overlap)"
2020-08-18 17:14:45 +02:00
Adam Sawicki
290272a156
Add documentation chapter "Virtual allocator"
2020-07-16 17:59:18 +02:00
Adam Sawicki
158f78588d
Minor fixes in documentation.
2020-07-15 14:02:15 +02:00
Adam Sawicki
87fd45b038
Fixed coding style
2020-06-15 17:58:54 +02:00
Adam Sawicki
8dfdc0e7cd
Add virtual allocator - struct VIRTUAL_BLOCK_DESC, VIRTUAL_ALLOCATION_DESC, VIRTUAL_ALLOCATION_INFO, class VirtualBlock, function CreateVirtualBlock.
...
Also updated Doxyfile to Doxygen 1.8.18.
2020-06-15 17:43:54 +02:00
Adam Sawicki
4fec3e1627
Set higher warning level, check successful CPU allocation with an assert
...
Also fixes in documentation and other minor
2020-05-25 17:52:53 +02:00
Adam Sawicki
aff54a5d8a
Remove configuration macro D3D12MA_ALLOW_SHADER_ATOMICS and automatic usage of D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS
2020-05-05 12:12:20 +02:00
Adam Sawicki
397a9b3973
Fixes for some platforms
2020-04-30 14:44:11 +02:00
Adam Sawicki
79db457378
Add memory reservation feature - functions Allocator::SetDefaultHeapMinBytes, Pool::SetMinBytes
2020-04-07 20:35:26 +02:00
Adam Sawicki
5da8ad2f1f
Fixes in documentation
...
Changed wording so that usage of D3D12_HEAP_FLAG_ALLOW_ONLY_* flags is now recommended as default.
2020-04-02 18:07:53 +02:00
Adam Sawicki
693cc74ee2
Add Pool::GetName, SetName
2020-04-02 17:45:13 +02:00
Adam Sawicki
f2bea63545
Add Pool::CalculateStats
2020-04-02 17:15:19 +02:00
Adam Sawicki
0218a51676
Add missing automatic usage of D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS in custom pools
...
Also improvements in documentation.
2020-04-02 16:59:13 +02:00
Adam Sawicki
af68fdcdd3
Add custom pools
...
Added struct POOL_DESC, class Pool, function Allocator::CreatePool, member ALLOCATION_DESC::CustomPool.
2020-04-02 16:12:14 +02:00
Adam Sawicki
11f5b8471e
Add Allocation::CreateAliasingResource
2020-03-25 17:41:35 +01:00
Adam Sawicki
329246a969
Minor fixes in documentation
2020-03-24 17:27:45 +01:00
Adam Sawicki
90e561ad59
Merge branch 'master' into WasZeroInitialized
2020-03-24 17:19:38 +01:00
Adam Sawicki
93c2ba283e
Add member ALLOCATION_DESC::ExtraHeapFlags, remove parameter Allocator::AllocateMemory heapFlags (compatibility breaking!)
...
Makes it possible to specify custom HeapFlags when allocating memory or creating resources. These are always created as separate allocations / committed resources.
Also added tests for it.
2020-03-19 11:59:16 +01:00
Adam Sawicki
41325ccbda
Fix automatic usage of D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS; allow additional heapFlags in Allocator::AllocateMemory
2020-03-19 11:25:46 +01:00
Adam Sawicki
9e4e8dde51
Renaming after merge - members of struct Budget are now called UsageBytes, BudgetBytes
...
JSON dump format also changed to reflect that.
2020-03-18 16:54:20 +01:00