Commit Graph

168 Commits

Author SHA1 Message Date
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
721d65a5a4 Fixed bug in CanUseSmallAlignment function
Thanks @danielkrupinski !
2022-01-28 14:17:45 +01:00
Adam Sawicki
0e558a5577 Adding image from isitmaintained.com to README 2022-01-27 13:18:46 +01:00
Adam Sawicki
74fbeac658 Minor fix - typo in an internal function
Closes #32
2022-01-21 16:03:21 +01:00
Adam Sawicki
517601c720 Updated copyright headers to year 2022
Change by @medranSolus
2022-01-21 13:01:05 +01:00
Adam Sawicki
9c97fcaae0 Changed the way ProtectedSession is passed. COMPATIBILITY BREAKING!
Using ProtectedSession now requires using custom pools.
Added POOL_DESC::pProtectedSession. Removed Allocator::CreateResource1, AllocateMemory1. Removed parameter pProtectedSession from Allocator::CreateCommittedResource2.
Code mostly by @medranSolus.
2022-01-13 13:14:49 +01:00
Adam Sawicki
f78c4fbd38 Added tests: TestPoolsAndAllocationParameters 2021-12-22 13:59:08 +01:00
Adam Sawicki
b2decb0270 Added custom pools to JSON memory dump and visualization tool.
NEW ADDITIONS TO JSON FORMAT!
2021-12-22 11:21:44 +01:00
Adam Sawicki
510578bab9 Added comments documenting class JsonWriter 2021-12-21 11:37:34 +01:00
Adam Sawicki
23e4d91f66 Fix for compilation compatibility
Closes #30
2021-12-08 10:40:52 +01:00
Adam Sawicki
1d8ba60f3e Fixed usage of D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK
Closes #29
2021-12-08 10:23:25 +01:00
Adam Sawicki
dd4f5e81ac Fixes in CMakeLists.txt file
Added header files, added NATVIS file, added missing project dependencies.
2021-12-07 17:16:58 +01:00
Adam Sawicki
a389d16fcf Improved NATVIS file - added support for IntrusiveLinkedList usage. 2021-12-07 17:16:32 +01:00
Adam Sawicki
8188312fe7 Internal optimization in traversal of BlockMetadata_Generic::m_Suballocations 2021-12-06 16:05:28 +01:00
Adam Sawicki
4488fa2a73 Improved and rebuilt documentation 2021-12-03 18:08:24 +01:00
Adam Sawicki
8a2224211b Added parameter -t --Test to the test app, to execute tests and exit. 2021-12-03 12:04:53 +01:00
Adam Sawicki
89e4afdaab Improvements in CMakeLists.txt 2021-12-03 11:08:11 +01:00
Adam Sawicki
6ab5325bd7 Merge branch 'master' into development
# Conflicts:
#	CMakeLists.txt
#	src/CMakeLists.txt
#	src/Doxyfile
2021-12-01 11:03:15 +01:00
Adam Sawicki
dcac3b451d Fixes after moving D3D12MemAlloc.h to include/
See #26
2021-11-24 11:54:33 +01:00
Adam Sawicki
49b1affe9b
Merge pull request #26 from rayferric/master
Add option to build as shared library
2021-11-24 11:45:56 +01:00
rayferric
69df7fe9d1 Add option to build as shared library 2021-11-24 01:22:58 +01:00
Adam Sawicki
4550e94955 Added a test to make sure committed allocations our of custom pools work as committed
See #24
2021-11-23 14:13:52 +01:00
Adam Sawicki
5af718fd7e Added TerraFX.Interop.D3D12MemoryAllocator to README 2021-11-23 13:53:33 +01:00
Adam Sawicki
37423ffd7e Added virtual destructor to class IUnknownImpl 2021-11-03 13:22:58 +01:00
Adam Sawicki
44b43df7c7 Remove unnecessary annotations from IUnknownImpl::QueryInterface in CPP file 2021-10-07 16:09:23 +02:00
Adam Sawicki
bd4c39f8ac Fix compilation of Tests.cpp for platforms where ID3D12Device8 is not defined 2021-10-06 15:14:43 +02:00
Adam Sawicki
79c20314a5 Replace Premake with Cmake 2021-10-06 14:37:02 +02:00
Adam Sawicki
30b84395a1 Fixes to Cmake
Regenerated HTML documentation
2021-10-06 14:35:03 +02:00
Sawicki, Adam
9e2ad5312d Merge branch 'development' into 'development'
Doxygen generation fix, small cleanup

See merge request gpuopen/GPUOpen-LibrariesAndSDKs/d3d12memoryallocator!2
2021-10-06 12:10:31 +00:00
Lukasz Izdebski
686c62461a Doxygen generation fix, small cleanup 2021-10-06 14:08:06 +02:00
Sawicki, Adam
ae0e4ba71a Merge branch 'development' into 'development'
Development

See merge request gpuopen/GPUOpen-LibrariesAndSDKs/d3d12memoryallocator!1
2021-10-06 11:36:30 +00:00
Lukasz Izdebski
9ac96caffe build option description fix 2021-10-06 13:31:56 +02:00
Lukasz Izdebski
c83d4df6bd remove premake, CMake added, Doxygen in Cmake added 2021-10-06 13:26:10 +02:00
Adam Sawicki
54f99001d2 Remove unnecessary annotations from IUnknownImpl::QueryInterface 2021-10-06 11:31:26 +02:00
Adam Sawicki
130d61cc58 Defined D3D12MA_IID_PPV_ARGS
Based on e3d58a4044 and #16
2021-10-05 11:27:53 +02:00
Adam Sawicki
0b04600cbf Added some #ifdef _WIN32
Based on e3d58a4044
2021-10-05 11:18:29 +02:00
Adam Sawicki
9eb6944450
Merge pull request #23 from danielkrupinski/unused-functions
Remove unused static functions
2021-09-21 17:40:20 +02:00
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