v0.0.5
Pre-release
Pre-release
What's Changed
Breaking Changes 🛠
- Remove Usage of std::set in ResidencySet by @bjjones in #547
- Make ResidencyManager::GetMemorySegmentGroup private. by @bbernhar in #585
- Make ResidencyManager::UpdateMemorySegment private. by @bbernhar in #588
- Rename RESIDENCY_DESC::EvictBatchSize to RESIDENCY_DESC::EvictSizeInBytes. by @bbernhar in #589
- Specify heap properties instead of heap type by @bbernhar in #591
- Rename RESIDENCY_DESC::VideoMemoryBudget to RESIDENCY_DESC::MaxPctOfVideoMemoryToBudget and RESIDENCY_DESC::Budget to RESIDENCY_DESC::MaxBudgetInBytes by @bbernhar in #597
- Rename allocator feature enums. by @bbernhar in #605
- Move Heap parameters into HEAP_DESC. by @bbernhar in #617
- Move ResourceAllocation::IsResident to Heap::IsResident and make it testing-only. by @bbernhar in #640
New Features 🎉
- Allow segment to be specified in CreateHeap. by @bbernhar in #510
- Move min. reservation to RESIDENCY_DESC. by @bbernhar in #596
- Support minimal viable GPGMM implementation (MVI). by @bbernhar in #592
- Report budget change amounts to debug log. by @bbernhar in #610
- Expose ALLOCATOR_ALGORITHM_DEDICATED to ResourceAllocator. by @bbernhar in #615
- Allow sub-allocated buffers within to use any allocation method. by @bbernhar in #620
- Automatically align ALLOCATOR_DESC::PreferredResourceHeapSize. by @bbernhar in #621
- Add ALLOCATION_FLAG_NEVER_FALLBACK for to ensure allocation method is being tested. by @bbernhar in #624
- Move residency options to RESIDENCY_FLAGS. by @bbernhar in #625
Bug fixes 🐛
- Detect UMA for unconfigured residency manager. by @bbernhar in #511
- Fix MaxResourceHeapSize value from being incorrectly specified. by @bbernhar in #534
- Fix overflow of slabs during sub-allocation. by @bbernhar in #537
- Explicity check if created heaps are within budget when required. by @bbernhar in #545
- Fix enable-assert causing GN gen failure. by @bbernhar in #568
- Disallow sub-allocation within for default heaps. by @bbernhar in #608
- Fix max resource heap tier from being incorrectly reported. by @bbernhar in #609
- Prevent backend leak detection from not reporting leaks. by @bbernhar in #611
- Fix event-based budget test when using real non-UMA adapter. by @bbernhar in #627
- Move re-capture from unit-test into workflow. by @bbernhar in #633
- Enable allocation for any heap type on tier 1 hardware. by @bbernhar in #635
- Do not track created non-resource heaps in residency cache by default. by @bbernhar in #649
Other Changes
- Remove isUMA from ResourceAllocator. by @bbernhar in #509
- Update Dawn API test integration. by @bbernhar in #513
- Supress TrySubAllocateMemory events when never allocate is enabled. by @bbernhar in #515
- Allow Heap to be COM-wrapped. by @bbernhar in #516
- Use unsigned integral type for RefCounted. by @bbernhar in #517
- Enable log level for all gtests. by @bbernhar in #518
- Attribute locked heaps toward residency usage. by @bbernhar in #519
- Fix OverBudget tests from never terminating. by @bbernhar in #512
- Roll WebNN. by @bbernhar in #520
- Depreciate ResidencyManager::InsertHeap and ResidencyManager::Evict. by @bbernhar in #521
- Make Heap::Heap private. by @bbernhar in #522
- Hookup RESIDENCY_DESC::IsUMA to D3D12EventTraceReplay. by @bbernhar in #523
- Roll third_party DEPS by @bbernhar in #524
- Depreciate Heap::As with ComPtr::As. by @bbernhar in #525
- Move FetchContent revisions into variables. by @bbernhar in #526
- Enable pool-allocation for VK backend. by @bbernhar in #527
- Enable sub-allocation with VK backend. by @bbernhar in #529
- Remove CMAKE_*_OUTPUT_DIRECTORY from being specified as PROJECT_SOURCE_DIR. by @bbernhar in #530
- Remove LinkedList from SlabCacheAllocator. by @bbernhar in #533
- Remove ALLOCATOR_DESC::IsUMA. by @bbernhar in #532
- Do not require versioned Vulkan dependency. by @bbernhar in #535
- Roll third_party DEPS by @bbernhar in #536
- Add residency manager fuzzing. by @bbernhar in #539
- Add API documentation to MemoryAllocationEvent. by @bbernhar in #543
- Use GetDeviceRemovedReason upon device lost error. by @bbernhar in #544
- Add retries when testing with residency fuzzer. by @bbernhar in #546
- Roll third_party DEPS by @bbernhar in #548
- Add owners file. by @bbernhar in #549
- Do not require Vulkan loader when building without tests. by @bbernhar in #551
- Add support for a reference stable vector. by @bbernhar in #542
- Add gpCreateImage support. by @bbernhar in #552
- Add option to pad resource heaps. by @bbernhar in #555
- Update Dawn integration by @bbernhar in #556
- Eliminate LinkedList from slab allocation. by @bbernhar in #554
- Clean-up CheckFeatureSupport. by @bbernhar in #557
- Enable VK budget extension. by @bbernhar in #558
- Remove extra exported include. by @bbernhar in #560
- Move end2end CRT leak tests into seperate workflow step. by @bbernhar in #561
- Reland "Replace LinkedList with StableList for GPU slab allocation. (#554)" by @bbernhar in #563
- Simplify MemoryPool interface. by @bbernhar in #559
- Remove depreciated APIs. by @bbernhar in #564
- Reland "Remove depreciated APIs. (#564)" by @bbernhar in #565
- Roll third_party DEPS by @bbernhar in #566
- Rename Standalone => Dedicated allocator. by @bbernhar in #569
- Fix ASSERT generation from not evaluating the condition during release builds. by @bbernhar in #570
- Roll third_party DEPS by @bbernhar in #571
- Remove unused MemoryPool dependency from d3d12::Heap. by @bbernhar in #572
- Make RefCounted in IUnknown-based objects private. by @bbernhar in #573
- Refactor ResidencyManager query info API. by @bbernhar in #574
- Fix MSVC assert code generation on for release builds. by @bbernhar in #575
- Move ResidencyList::Begin/End into private section. by @bbernhar in #576
- Remove enum flags dependency. by @bbernhar in #578
- Remove default-initialization from D3D descriptor structures. by @bbernhar in #579
- Make AllocationMethod::kUndefined default value. by @bbernhar in #580
- Roll third_party DEPS by @bbernhar in #581
- Remove ResourceAllocation::CreateResourceAllocation. by @bbernhar in #582
- Update auto roller by @bbernhar in #583
- Roll third_party DEPS by @bbernhar in #584
- Rename RESOURCE_ALLOCATION_DESC::RequestSizeInBytes to RESOURCE_ALLOCATION_DESC::SizeInBytes. by @bbernhar in #586
- Make ALLOCATION_DESC::HeapType optional. by @bbernhar in #587
- Consolidate adapter detection into CapsD3D12. by @bbernhar in #590
- Refactor ResidencyManager::UpdateMemorySegments. by @bbernhar in #593
- Use ResidencyManager for segment group lookup. by @bbernhar in #594
- Dump caps to console. by @bbernhar in #595
- Remove NonCopyable where unused. by @bbernhar in #598
- Roll third_party DEPS by @bbernhar in #599
- Do not release all allocator memory by default. by @bbernhar in #600
- Abandon attribution of heaps when adapter is cache-coherent UMA. by @bbernhar in #601
- Add option to disable custom heaps. by @bbernhar in #602
- Reland "Add option to disable custom heaps. (#602)" by @bbernhar in #603
- Reland "Add option to disable custom heaps. (#602) (#603)" again. by @bbernhar in #604
- Allow attribution of heaps to be disabled. by @bbernhar in #606
- Map D3D12_HEAP_TYPE_CUSTOM heap types. by @bbernhar in #607
- Roll third_party DEPS by @bbernhar in #612
- Inline AllocatorNode with MemoryAllocator. by @bbernhar in #613
- Refactor base object type and memory blocks. by @bbernhar in #614
- Fix conversion of type to ResourceAllocation::DeleteThis. by @bbernhar in #616
- Move adapter output dump to test harness. by @bbernhar in #618
- Do not restrict sub-allocation within to committed-only resources. by @bbernhar in #619
- Add GP_ALLOCATOR_ALGORITHM_DEFAULT to Vulkan backend. by @bbernhar in #622
- Disable sub-allocation within with resource flags. by @bbernhar in #623
- Fix D3D12ResidencyManagerTests.CreateHeap failures on non-UMA. by @bbernhar in #626
- Validate descriptor for residency and allocator. by @bbernhar in #628
- Refactor harness to keep per test allocator descriptions separate. by @bbernhar in #629
- Fix replay failures due to wrong creation-snapshot sequence by ResourceAllocator. by @bbernhar in #630
- Roll third_party DEPS by @bbernhar in #631
- Revert vulkan-deps rolls. by @bbernhar in #632
- Playback capture generated through workflow. by @bbernhar in #636
- Roll third_party/dawn/ 08f4b557f..be4c9f48a (808 commits; 15 trivial rolls) by @bbernhar in #634
- Use separate DEPS for Dawn integration. by @bbernhar in #638
- Track the residency state for heaps. by @bbernhar in #639
- Add residency test for locking heaps. by @bbernhar in #642
- Improve residency usage for RESIDENCY_INFO. by @bbernhar in #643
- Clean-up and improve debug messages. by @bbernhar in #644
- Update copyright year to 2022. by @bbernhar in #646
- Refactor "is heap resident" related testing functions. by @bbernhar in #641
- Migrate Dawn-specific GPGMM DEPS into Dawn DEPS. by @bbernhar in #645
- Check pageable exists before creating heap. by @bbernhar in #647
- Regenerate captures using WARP. by @bbernhar in #648
New Contributors
Full Changelog: v0.0.4...v0.0.5