Adam Sawicki
ae2ea0b293
Fixes in the documentation
2022-02-24 17:13:16 +01:00
Adam Sawicki
8f02da698d
Minor fix: removed HEAP_TYPE_COUNT constant from the public interface
2022-02-24 16:04:58 +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
7b2cbbea16
Fix for platforms that don't support ID3D12Device4
...
Fixes #33
Thank you @shaggie76
2022-02-24 13:06:03 +01:00
Adam Sawicki
92d23c0cba
Refactoring of statistics API. COMPATIBILITY BREAKING!
...
See structures: Statistics, DetailedStatistics, TotalStatistics, functions: Pool::GetStatistics, Pool::CalculateStatistics, VirtualBlock::GetStatistics, VirtualBlock::CalculateStatistics, Allocator::CalculateStatistics.
Switched to TSLF algorithm as the default. Removed: POOL_FLAG_ALGORITHM_TLSF, VIRTUAL_BLOCK_FLAG_ALGORITHM_TLSF.
2022-02-23 10:30:34 +01:00
Adam Sawicki
7ab674b85a
Fixes in TestLinearAllocator
2022-02-11 11:47:39 +01:00
Adam Sawicki
9252861098
Fix for BitScan functions in GCC and Clang.
...
Code by @medranSolus
2022-02-08 11:16:19 +01:00
Adam Sawicki
ae519f2521
Fix for not applying debug margin in Generic algorithm.
...
Ported test for linear algorithm from VMA.
Code by @medranSolus
2022-02-07 16:35:36 +01:00
Adam Sawicki
80cd0026a1
Minor improvement in a test
2022-02-04 14:36:39 +01:00
Adam Sawicki
353caa9b47
Fixes after merge
2022-02-04 13:24:41 +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
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