Skip to content

Releases: intel/GPGMM

v0.1.2

01 Dec 23:10
cbb887c
Compare
Choose a tag to compare

What's Changed

New Features 🎉

  • Always unlock released resource allocations. by @bbernhar in #918
  • Add support for RESIDENCY_HEAP_FLAG_CREATE_LOCKED. by @bbernhar in #919
  • Add GetResidencyManager to IResourceAllocation. by @bbernhar in #917
  • Add GetResourceAllocator support to IResourceAllocation. by @bbernhar in #922

Bug fixes 🐛

  • Fix check when final lock is released for resource allocations. by @bbernhar in #920
  • Fix D3D12 device from leaking. by @bbernhar in #925
  • Add EXPECT_REFCOUNT_EQ for D3D12 device at end of test. by @bbernhar in #926

Other Changes

Full Changelog: v0.1.1...v0.1.2

v0.1.1

22 Aug 15:55
6fd5d03
Compare
Choose a tag to compare

What's Changed

Breaking Changes 🛠

New Features 🎉

  • Add device removed reason handling. by @bbernhar in #795
  • Add RESIDENCY_FLAG_ALWAYS_IN_BUDGET support. by @bbernhar in #796
  • Support re-attempt of resource creation on E_OUTOFMEMORY. by @bbernhar in #913
  • Never evict mapped resource allocations. by @bbernhar in #916

Bug fixes 🐛

  • Misc coverity fixes. by @bbernhar in #797
  • Fix MaxResourceHeapSize not being honored. by @bbernhar in #803
  • Apply ALLOCATOR_FLAG_ALWAYS_RESIDENT by default if NOT_RESIDENT is unsupported. by @bbernhar in #802
  • Always re-align memory requests. by @bbernhar in #808
  • Fix error returned by resource tier mismatch. by @bbernhar in #811
  • Suppress logging of internal objects. by @bbernhar in #817
  • Fixes to enable UE5.1 CitySample by @bbernhar in #825
  • Fix un-init struct in CreateResourceHeapNotResident. by @bbernhar in #828
  • Disallow creation of heaps that exceed adapter limits. by @bbernhar in #829
  • Fix deadlock when creating unowned committed resources. by @bbernhar in #897

Other Changes

  • Allow cmake install paths to be overridden. by @bbernhar in #794
  • Roll third_party DEPS by @bbernhar in #791
  • Log heap creation. by @bbernhar in #789
  • Minor improvements to alignment mismatch logging. by @bbernhar in #798
  • More fixes for coverity by @bbernhar in #800
  • Skip eviction checks when budget wasn't updated during tests. by @bbernhar in #801
  • Wire up allocation instances to logs. by @bbernhar in #804
  • Minor heap creation improvements. by @bbernhar in #805
  • Rename gpgmm_d3d12 to use backend types. by @bbernhar in #806
  • Move printing of types to only when debugger is attached. by @bbernhar in #807
  • Roll third_party DEPS by @bbernhar in #810
  • Rename kMemoryAllocated to kObjectCreated. by @bbernhar in #809
  • Inline EnsureInBudget by @bbernhar in #814
  • Replace flag to check residency status in tests. by @bbernhar in #812
  • Move event tracing into backend. by @bbernhar in #816
  • Move resource stats and method into backend. by @bbernhar in #815
  • Rename RESIDENCY_MANAGER_STATS fields. by @bbernhar in #819
  • Rename MemorySegment => HeapSegment. by @bbernhar in #820
  • Depreciate gpgmm header. by @bbernhar in #818
  • RESIDENCY_FLAG_NEVER_UPDATE_BUDGET_ON_WORKER_THREAD => RESIDENCY_FLAG_DISABLE_BUDGET_UPDATES_ON_WORKER_THREAD by @bbernhar in #822
  • Rename D3D12EventTraceReplay => D3D12MemoryTraceReplay by @bbernhar in #821
  • Rename D3D-specific macros to use GPGMM-prefix. by @bbernhar in #824
  • Use GPGMM-specific macros for event tracing. by @bbernhar in #823
  • Refactor GPGMM_INVALID_IF => GPGMM_RETURN_INVALID_IF. by @bbernhar in #827
  • More logging improvements. by @bbernhar in #826
  • Roll third_party DEPS by @bbernhar in #830
  • Rename platform headers. by @bbernhar in #832
  • Minor refactor in ResourceAllocator. by @bbernhar in #833
  • Refactoring D3D12 logging. by @bbernhar in #834
  • Rename ALLOCATION_FLAG_DISABLE_RESIDENCY => ALLOCATION_FLAG_NEVER_RESIDENT and ALLOCATION_FLAG_WARN_ON_ALIGNMENT_MISMATCH => ALLOCATION_FLAG_ALWAYS_WARN_ON_ALIGNMENT_MISMATCH. by @bbernhar in #835
  • Rename RESOURCE_ALLOCATOR_STATS => ALLOCATOR_STATS by @bbernhar in #836
  • Rename WarningLog => WarnLog. by @bbernhar in #837
  • Migrate error handlers to check for device lost. by @bbernhar in #838
  • Move GetTypename to macro. by @bbernhar in #840
  • Roll third_party DEPS by @bbernhar in #843
  • Refactor the D3D12 API. by @bbernhar in #839
  • Inherit RefCount in MemoryBase. by @bbernhar in #841
  • Rename DebugResourceAllocator => ResourceAllocationTrackingAllocator. by @bbernhar in #842
  • Roll third_party DEPS by @bbernhar in #846
  • Roll third_party DEPS by @bbernhar in #847
  • Remove build_with_chromium cases for tests. by @bbernhar in #853
  • Make gpgmm_export.h optional. by @bbernhar in #854
  • Fix spelling in gpgmm headers. by @bbernhar in #855
  • Remove GPGMM_REFCOUNT_TYPE. by @bbernhar in #857
  • Move budget events into cpp. by @bbernhar in #858
  • Depreciate RESIDENCY_HEAP_INFO::IsCachedForResidency by @bbernhar in #856
  • Rename RESIDENCY_FLAG_DISABLE_BUDGET_UPDATES_ON_WORKER_THREAD to RESIDENCY_FLAG_DISABLE_BACKGROUND_BUDGET_UPDATES. by @bbernhar in #859
  • Remove unused forward declares from D3D12Test by @bbernhar in #860
  • Clean-up comments in memory allocation and allocator. by @bbernhar in #861
  • Remove from gpgmm_d3d12.h by @bbernhar in #862
  • Rename MemoryAllocator to MemoryAllocatorBase. by @bbernhar in #863
  • Rename MemoryAllocation to MemoryAllocationBase. by @bbernhar in #864
  • Validate residency resource heap flags by @bbernhar in #865
  • Update header guards to use project relative path. by @bbernhar in #866
  • Move event messages into cpp. by @bbernhar in #867
  • Rename ALLOCATION_METHOD => ALLOCATION_TYPE. by @bbernhar in #868
  • Terminate multi-sampled resource allocators. by @bbernhar in #870
  • Rename [Next|Prev|PowerOfTwo to [Upper|Lower]PowerOfTwo. by @bbernhar in https://github.com//pull/869
  • Rename gpgmm_enable_logging_internal_objects => gpgmm_enable_logging_internal. by @bbernhar in #871
  • Fix TryAllocateResource logging. by @bbernhar in #872
  • Allow import of resource heaps. by @bbernhar in #873
  • Fix D3D12ResourceAllocatorTests.CreateBuffer failure. by @bbernhar in #874
  • Disable background budgets by default. by @bbernhar in #875
  • Disable single heap type on UMA by default. by @bbernhar in #876
  • Disable prefetching by default. by @bbernhar in #877
  • Fix D3D12 resource and residency manager flag enums. by @bbernhar in #878
  • Rename RequireResourceHeapPadding to ExtraRequiredResourcePadding. by @bbernhar in #879
  • Default the creation of resources to being resident. by @bbernhar in #880
  • Rename ALWAYS_IN_BUDGET => CREATE_IN_BUDGET and ALWAYS_RESIDENT => CREATE_RESIDENT. by @bbernhar in #881
  • Rename DISABLE_UNIFIED_MEMORY => NEVER_USE_UNIFIED_MEMORY. by @bbernhar in #883
  • Rename RESIDENCY_HEAP_STATUS fields. by @bbernhar in #882
  • Rename status parameter in SetResidencyStatus. by @bbernhar in #886
  • Return error results on validation checks. by @bbernhar in #887
  • Determine residency heap size when unspecified. by @bbernhar in #885
  • More clean-up to internal logging. by @bbernhar in #884
  • Use error macro for validation. by @bbernhar in #888
  • Move defaults where used. by @bbernhar in #889
  • Convert sizes to printable units. by @bbernhar in #890
  • Split errors from messages. by @bbernhar in #891
  • Rename ALLOCATOR_ALGORITHM => RESOURCE_ALLOCATION_ALGORITHM. by @bbernhar in #8...
Read more

v0.1.0

28 Mar 00:22
dd1bfe0
Compare
Choose a tag to compare

What's Changed

Breaking Changes 🛠

New Features 🎉

Bug fixes 🐛

  • Fix enum ops failing builds from #758. by @bbernhar in #760
  • Do not re-attempt if allocation failure is fatal. by @bbernhar in #764
  • Fix error C2059 due to redefine of VK_DEFINE_HANDLE. by @bbernhar in #770
  • Do not restrict available memory if NOT_RESIDENT is used. by @bbernhar in #771
  • Fix dump test option writing out garbage trace file. by @bbernhar in #774
  • Apply HEAP_FLAG_ALWAYS_IN_RESIDENCY by default. by @bbernhar in #785
  • Decouple HEAP_FLAG_ALWAYS_IN_BUDGET from D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT. by @bbernhar in #786
  • Fix dedicated allocations from using resource alignments for heaps. by @bbernhar in #792

Other Changes

Full Changelog: v0.0.9...v0.1.0

v0.0.9

06 Feb 21:45
22beb57
Compare
Choose a tag to compare
v0.0.9 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

  • Remove WRL from gpgmm_d3d12 header. by @bbernhar in #739
  • Replace RESIDENCY_DESC::IsUMA with RESIDENCY_FLAG_DISABLE_UNIFIED_MEMORY. by @bbernhar in #750

New Features 🎉

Bug fixes 🐛

  • Fix log messages during CreateResourceAllocator. by @bbernhar in #740
  • Fix EnqueueMakeResident from never being enabled. by @bbernhar in #743
  • Exit early when importing a resource without allocation. by @bbernhar in #745

Other Changes

Full Changelog: v0.0.8...v0.0.9

v0.0.8

20 Jan 21:45
dd22a4f
Compare
Choose a tag to compare
v0.0.8 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

  • Rename ALLOCATOR_FLAG_ALWAYS_COMMITED to ALLOCATOR_FLAG_ALWAYS_COMMITTED. by @bbernhar in #726
  • Disable custom heaps when UMA is not supported. by @bbernhar in #729

New Features 🎉

Bug fixes 🐛

  • Fix D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT from being never supported. by @bbernhar in #718
  • Fix bug when creating resource allocator with residency but no adapter. by @bbernhar in #720
  • Fix use-after-free with CreateCommittedResourceCallbackContext. by @bbernhar in #723
  • Fix possible leak when committing a null allocation. by @bbernhar in #724

Other Changes

Full Changelog: v0.0.7...v0.0.8

v0.0.7

13 Jan 19:28
Compare
Choose a tag to compare
v0.0.7 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

New Features 🎉

Bug fixes 🐛

  • Fix leak when importing resources without allocation. by @bbernhar in #694
  • Release leaked D3D allocations during testing. by @bbernhar in #696
  • Suppress memory leak error on CreateImage failure. by @bbernhar in #698
  • Fix log level mismatch for gtests. by @bbernhar in #704
  • Make ResidencyManager::GetStats thread safe. by @bbernhar in #712
  • Reland "Enable residency for imported resources. (#709)" by @bbernhar in #717

Other Changes

Full Changelog: v0.0.6...v0.0.7

v0.0.6

24 Oct 21:59
872b882
Compare
Choose a tag to compare
v0.0.6 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

  • Use native wide character type for debug name. by @bbernhar in #652
  • Clarify improve docs for RESIDENCY_STATUS. by @bbernhar in #656
  • Rename CreateAllocator to CreateResourceAllocator. by @bbernhar in #661
  • Decouple GPGMM interfaces from backend implementation. by @bbernhar in #662
  • Rename RESIDENCY_INFO to RESIDENCY_STATS and RESOURCE_ALLOCATOR_INFO to RESOURCE_ALLOCATOR_STATS. by @bbernhar in #664
  • Move min. record level into descs. by @bbernhar in #673
  • Remove usage of std::function in MVI by @bjjones in #670

Other Changes

Full Changelog: v0.0.5...v0.0.6

v0.0.5

22 Sep 00:23
Compare
Choose a tag to compare
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

Read more

v0.0.4

11 Jul 19:24
d058620
Compare
Choose a tag to compare
v0.0.4 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

  • Depreciate ResourceAllocation::UpdateResidency. by @bbernhar in #498

New Features 🎉

Bug fixes 🐛

Other Changes

Full Changelog: v0.0.3...v0.0.4

v0.0.3

05 Jul 17:01
6a8fa57
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release

What's Changed

Breaking Changes 🛠

  • Rename ResourceFragmentationLimit => MemoryFragmentationLimit. by @bbernhar in #244
  • Remove ALLOCATOR_CHECK_DEVICE_LEAKS. by @bbernhar in #282
  • Replace ALLOCATOR_MESSAGE_SEVERITY with D3D12_MESSAGE_SEVERITY. by @bbernhar in #308
  • Rename ALLOCATOR_DESC::TotalResourceBudgetLimit to ALLOCATOR_DESC::Budget and ALLOCATOR_DESC::EvictLimit to ALLOCATOR_DESC::EvictBatchSize. by @bbernhar in #311
  • Handle NULL resource allocator in CreateAllocator. by @bbernhar in #323
  • Cache resource sizes in multiples of alignment. by @bbernhar in #423
  • Remove MaxVideoMemoryBudget and Budget from ALLOCATOR_DESC. by @bbernhar in #482
  • Enable event tracing for residency. by @bbernhar in #481

New Features 🎉

Bug fixes 🐛

  • Make BufferAllocator thread safe. by @bbernhar in #235
  • Fix resource allocator fuzzer from incorrectly initializing. by @bbernhar in #237
  • Fix SlabMemoryAllocator failures. by @bbernhar in #246
  • Always re-use free slabs instead of creating new ones. by @bbernhar in #249
  • Fix leak in memory cache. by @bbernhar in #266
  • Fix crash when flushing events to disk at exit. by @bbernhar in #268
  • Disable recording unless tracing is configured. by @bbernhar in #269
  • Rename D3D12 backend types. by @bbernhar in #280
  • Add and use SafeDivison on input. by @bbernhar in #281
  • Fix bug calculating sub-allocated memory size in test. by @bbernhar in #293
  • Fix up MemoryPool and ResourceHeapAllocator typenames. by @bbernhar in #292
  • Fix JSONSerializer::Serialize of D3D12_HEAP_PROPERTIES. by @bbernhar in #298
  • Return S_FALSE when re-inserting into a residency set. by @bbernhar in #297
  • Fix crash in ~Log when using GPGMM_ENABLE_ASSERT_ON_WARNING. by @bbernhar in #299
  • Re-enable pre-fetching for grown slabs. by @bbernhar in #301
  • Fix level from being correctly set in D3D12EventTraceReplay. by @bbernhar in #313
  • Restrict D3D12EventTraceReplay.AllocationPerf to a single iteration. by @bbernhar in #315
  • Update residency budget after UpdateVideoMemorySegments. by @bbernhar in #326
  • Fix ASSERT in CreateBufferOversized. by @bbernhar in #328
  • Apply CLI params in capture_replay_tests. by @bbernhar in #340
  • Fix leak from ResourceAllocator::Trim(). by @bbernhar in #343
  • Add MSAA allocator types to GetInfo(). by @bbernhar in #344
  • Move ASSERT handler into GPGMM namespace. by @bbernhar in #367
  • Fix ALLOCATION_FLAG_ALWAYS_CACHE_SIZE from disabling sub-allocation. by @bbernhar in #399
  • Align within resource to power-of-two by default when none specified in resource descriptor. by @bbernhar in #400
  • Fix non-standalone Windows CMake build. by @bbernhar in #408
  • Fix bug during trace shutdown. by @bbernhar in #425
  • Fix MSVC cast warning in SlabMemoryAllocator::ComputeSlabSize. by @bbernhar in #427
  • Fix uint64_t to double cast with SafeDivide. by @bbernhar in #426
  • Fix ASSERT when using slab + fixed pool. by @bbernhar in #432
  • Rounding error fix for SafeDivide. by @bbernhar in #442
  • Fix AV after moving a LinkedList. by @bbernhar in #447
  • Fix disabling pre-fetch when under coverage threshold. by @bbernhar in #448
  • Fix SlabMemoryAllocator crash when near OOM. by @bbernhar in #449
  • Fix AV upon merging events from exited thread. by @bbernhar in #456
  • Fix overflow in SetMaxResource* related functions. by @bbernhar in #460
  • Allocation metrics were not updated upon ReleaseMemory(). by @bbernhar in #472
  • Move size-aware LinkedList into seperate type. by @bbernhar in #475

Other Changes

  • Enable gpgmm_enable_assert_on_warning on debug builds. by @bbernhar in #231
  • Remove ResourceAllocator::GetResidencyManager. by @bbernhar in #233
  • Remove unused GPGMM_NO_DISCARD macro. by @bbernhar in #234
  • Roll third_party/dawn/ 8d9d132f7..a8b651a7c (3412 commits; 5 trivial …rolls) by @bbernhar in #232
  • Make CreateResource thread safe. by @bbernhar in #236
  • Make EventTrace access thread safe. by @bbernhar in #238
  • Move trace event phase definitions into header. by @bbernhar in #239
  • Report correct fragmentation when directly committing resources. by @bbernhar in #240
  • Roll third_party/webnn_native/ 9add656df..e0bc84d74 (50 commits; 2 trivial rolls) by @bbernhar in #243
  • Remove gpgmm_enable_recording_until_termination. by @bbernhar in #242
  • Fix trace regeneration. by @bbernhar in #241
  • Depreciate MaxResourceSizeForPooling and GetResidencyManager(). by @bbernhar in #245
  • Expose GetMemory directly to ResourceAllocation. by @bbernhar in #248
  • Rename VideoMemoryEvictSize => EvictLimit and budget, internally. by @bbernhar in #247
  • Split residency tests out and do not re-use allocators between tests. by @bbernhar in #251
  • Remove Heap::UpdateResidency in favor of ResourceAllocation::UpdateResidency. by @bbernhar in #252
  • Fix GetErrorMessage output. by @bbernhar in #254
  • Build doxygen documentation. by @bbernhar in #255
  • Log resource heap misalignments. by @bbernhar in #257
  • Log sub-allocation failures. by @bbernhar in #258
  • Display video memory budget metric per segment. by @bbernhar in #261
  • Verify memory allocators cannot leak, ever. by @bbernhar in #259
  • Elim...
Read more