Commit Graph

269 Commits

Author SHA1 Message Date
Adam Sawicki
56335afdad Fixed algorithm in BlockMetadata_TLSF::CreateAllocationRequest
Code by @medranSolus
2022-02-01 14:11:35 +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
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