Adam Sawicki
c6bb710c48
Improvement in AlignUp, AlignDown
2020-07-06 17:42:51 +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
2eb11e7ef8
Fixes in usage of Map/Unmap to fix D3D Debug Layer EXECUTION WARNING #930 : MAP_INVALID_NULLRANGE
2020-06-04 16:42:12 +02:00
Adam Sawicki
0478883903
Fixes in usage of Map/Unmap to fix D3D Debug Layer EXECUTION WARNING #930 : MAP_INVALID_NULLRANGE
2020-06-04 16:39:44 +02:00
Adam Sawicki
4c905740fe
Update date in license
2020-06-04 12:51:29 +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
bf36fb708e
Some fixes for compiler warnings
...
Closes #6
2020-05-25 17:27:38 +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
d8b6c230e7
Remove unnecessary assert in AllocatorPimpl::BuildStatsString
2020-05-04 15:19:47 +02:00
Adam Sawicki
51ab1e3711
Merge pull request #5 from debaetsd/master
...
fixed invalid bitsPerPixel compare in CanUseSmallAlignment
2020-05-04 11:38:16 +02:00
Adam Sawicki
397a9b3973
Fixes for some platforms
2020-04-30 14:44:11 +02:00
debaetsd
9d42a6341e
whitespace
2020-04-17 20:27:56 +02:00
Dieter De Baets
1ea4b4de27
fixed invalid bitsPerPixel compare in CanUseSmallAlignment
2020-04-17 20:26:35 +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
db2c3832de
Minor refactoring: Use ZeroMemory instead of memset(0)
2020-04-02 17:35:46 +02:00
Adam Sawicki
07cf40a2b8
Add missing reporting from custom pools in Allocator::CalculateStats
2020-04-02 17:34:33 +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
e72af18a69
Add support for custom pools to AllocateMemory and CreateAlisingResource
2020-04-02 16:24:02 +02:00
Adam Sawicki
a91514004e
Minor refactoring - renaming
2020-04-02 16:13:32 +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
a010e284fc
Fix bug in BlockVector::AllocatePage
2020-04-02 13:48:27 +02:00
Adam Sawicki
60354a0d67
Better validation in AllocatorPimpl::CreateAliasingResource
2020-03-25 17:47:56 +01: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
Adam Sawicki
5ec23f95fb
Merge pull request #4 from zhaijialong/vs2015-fix
...
VS2015 fix
2020-03-18 16:49:41 +01:00
Jialong Zhai
ddb000cb19
VS2015 fix
2020-03-18 18:14:20 +08:00
Adam Sawicki
64d78cd8a6
Implement Allocation::WasZeroInitialized
2020-03-16 19:36:15 +01:00
Adam Sawicki
33a596f18f
Minor improvement: Additional protection with asserts in Allocation::PackedData setters.
2020-03-16 16:40:29 +01:00
Adam Sawicki
38f53e8e4f
Add internal structure Allocation::PackedData with bit fields to optimize memory size of Allocation class.
2020-03-16 16:36:37 +01:00
Adam Sawicki
4d27d19b4c
Add automatic usage of D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS and configuration macro D3D12MA_EXTRA_DEFAULT_TYPE_HEAP_FLAGS.
2020-03-16 16:10:47 +01:00
Adam Sawicki
c7f78c8c08
Add support for small texture alignment
...
Added configuration macro D3D12MA_USE_SMALL_RESOURCE_PLACEMENT_ALIGNMENT.
2020-03-11 16:48:40 +01:00
Adam Sawicki
0249a894cb
Add The Forge to the list of projects using this library
2020-03-06 11:31:55 +01:00
Adam Sawicki
f1e1c1b8d2
Update date in copyright header comments to year 2020
2020-02-07 15:38:52 +01:00
Adam Sawicki
1d4143fd50
Refactoring: Use constructor and destructor in Allocation class
...
PoolAllocator supports that. Needed to only use parameter pack to pass arguments to constructor.
2020-01-31 14:48:41 +01:00
Adam Sawicki
b706d13cb8
Fixes in documentation
2020-01-27 17:34:49 +01:00
Adam Sawicki
658e3dd6b7
Rebuild binary using Visual Studio 2017 instead of 2019
...
Added information about Microsoft Redistributable installer to README.md.
2020-01-24 12:32:16 +01:00
Adam Sawicki
2a210dbf13
Fix documentation of Allocator::AllocateMemory function
2020-01-23 13:24:28 +01:00
Adam Sawicki
9cd14c31dc
Allocate Allocation objects using PoolAllocator
2020-01-22 16:33:39 +01:00
Adam Sawicki
dc7ca4d26f
Implement initial version of D3d12maDumpVis visualization script
...
Also a minor fix: Add missing mutex lock to BlockVector::IsEmpty.
2019-11-27 14:10:37 +01:00
Adam Sawicki
0db8cd41e4
Add big feature of budget management - struct Budget, Allocator::GetBudget, ALLOCATION_FLAG_WITHIN_BUDGET, ALLOCATOR_DESC::pAdapter.
...
Added macro D3D12MA_DXGI_1_4, D3D12MA_D3D12_HEADERS_ALREADY_INCLUDED.
Some bug fixes and improvements.
2019-11-20 14:07:21 +01:00
Adam Sawicki
87528d084a
Update documentation with a warning about memory containing garbage data not zeros
2019-11-05 16:29:45 +01:00
Adam Sawicki
9586dbdced
Fix major bug with dangling pointer after failed resource creation
2019-11-05 15:33:07 +01:00