Commit Graph

281 Commits

Author SHA1 Message Date
Daniel Krupiński
964f329c0a Remove unused static functions
* NextPow2()
* PrevPow2()
* StrIsEmpty()
2021-09-20 20:38:53 +02:00
Adam Sawicki
314dda66af Little improvement in README 2021-09-20 20:26:30 +02:00
Adam Sawicki
c8d269e89a
Merge pull request #22 from danielkrupinski/unused-variable
Remove unused 'sumBlockSize' variable
2021-09-20 20:23:37 +02:00
Daniel Krupiński
85066e0554 Remove unused 'sumBlockSize' variable 2021-09-17 17:49:05 +02:00
Adam Sawicki
3ef73a8343
Merge pull request #21 from danielkrupinski/typedef-to-using
Use 'using' declaration instead of 'typedef' for creating type aliases
2021-09-17 13:43:56 +02:00
Daniel Krupiński
a082e0367f Use 'using' declaration instead of 'typedef' for creating type aliases 2021-09-16 20:24:12 +02:00
Adam Sawicki
66d745372c
Merge pull request #20 from danielkrupinski/no-typedef-enum
Do not typedef enums
2021-09-16 20:17:44 +02:00
Daniel Krupiński
c7f46dd322 Do not typedef enums 2021-09-16 20:12:48 +02:00
Adam Sawicki
8146fa85f1
Merge pull request #19 from danielkrupinski/master
Use IID_PPV_ARGS() macro for passing arguments to heap creation methods
2021-09-16 20:04:15 +02:00
Daniel Krupiński
5d92b05e99 Use IID_PPV_ARGS() macro for passing arguments to heap creation methods 2021-09-16 19:39:09 +02:00
Adam Sawicki
f50f65dcde
Merge pull request #18 from danielkrupinski/master
Do not define empty non-virtual destructors
2021-09-16 19:22:53 +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
0f44bf40bf premake5.lua: Added ignored warning 4201 and missing shlwapi.lib 2021-07-26 20:29:06 +02:00
Adam Sawicki
99270fb90d Ported sample and tests from CComPtr to Microsoft::WRL::ComPtr 2021-07-26 20:28:38 +02:00
Adam Sawicki
68c676f8e2 Used range-based for loops wherever I could 2021-06-25 17:50:40 +02:00
Adam Sawicki
18eab0d226 Trying the fix online documentation 2021-06-18 17:10:46 +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
10f148cef0 Rebuilt binary 2021-05-05 12:31:54 +02:00
Adam Sawicki
17df03f5ff Fixed major bug occurring on D3D12_RESOURCE_HEAP_TIER_1
Closes #11
2021-05-05 12:30:02 +02:00
Adam Sawicki
4dedc35e8f Fixed tests: Added query for D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT
Closes #12
2021-05-05 12:18:53 +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
cb0376a32e Fixed Allocator::CalculateStats for committed allocations in custom pools
Added test for it.
2021-03-19 17:17:23 +01:00
Adam Sawicki
d647ce1202 Enabled committed allocations in custom pools!
Added test: TestStandardCustomCommittedPlaced.
2021-03-19 16:59:48 +01:00
Adam Sawicki
47bedc01ff More refactoring - added CurrentBudgetData::AddCommittedAllocation, RemoveCommittedAllocation 2021-03-19 16:36:44 +01:00
Adam Sawicki
febc1c2cf6 Further refactoring 2021-03-19 16:32:25 +01:00
Adam Sawicki
7164a23fea More refactoring 2021-03-19 15:38:31 +01:00
Adam Sawicki
897976113c More refactoring 2021-03-19 14:13:39 +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
b2c5183078 More coding... 2021-03-19 12:10:43 +01:00
Adam Sawicki
b78ae97f66 More refactoring - added AllocatorPimpl::AllocateHeap_Impl 2021-03-17 18:01:23 +01:00
Adam Sawicki
9d6ccc289d Refactoring - added class CommittedAllocationList 2021-03-17 17:26:29 +01:00
Adam Sawicki
0a79fdfbd2 Added internal function SaveStatsStringToFile 2021-03-11 14:24:05 +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
45014bd2f3 Added test for a pool created out of CUSTOM heap 2021-03-11 13:23:24 +01:00
Adam Sawicki
2b70645a93 Improvements in the sample app
Now accepting command line parameters. Command line syntax:
-h, --Help   Print this information
-l, --List   Print list of GPUs
-g S, --GPU S   Select GPU with name containing S
-i N, --GPUIndex N   Select GPU index N

Added printing of adapter and device capabilities related to memory at startup.
Added struct GPUSelection, class DXGIUsage, struct CommandLineParameters.
Fixed macros CHECK_BOOL,. CHECK_HR.
Improved error handling.
2021-03-11 12:26:59 +01:00
Adam Sawicki
8f26fbb39e Started coding parsing command line parameters 2021-03-10 15:05:56 +01:00
Adam Sawicki
ac9ad24090 More coding, finished the feature
Added (restored) function IsHeapTypeStandard.
2021-03-10 14:50:10 +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
e7e5c2a4fe Optimization: custom pools are on an intrusive double linked list not sorted vector
Added struct PoolListItemTraits.
2021-03-03 17:03:53 +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