You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Delete the shared gpu-allocator glue from wgpu-hal/src/lib.rs, inline a
local AllocationSizes into the dx12 backend, drop gpu-allocator from the
workspace and wgpu-hal manifests, and add the feature changelog entry.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,21 @@ Bottom level categories:
42
42
43
43
## Unreleased
44
44
45
+
### Major changes
46
+
47
+
#### In-tree memory allocator for Vulkan and D3D12
48
+
49
+
wgpu-hal's Vulkan and D3D12 backends now suballocate device memory with an in-tree allocator, built on two new crates: `wgpu-offset-allocator` and `wgpu-block-pool`, whose algorithms and policy are derived from AMD's VulkanMemoryAllocator and D3D12MemoryAllocator. The `gpu-allocator` dependency has been removed.
50
+
51
+
`MemoryBudgetThresholds::for_resource_creation` is now enforced inside the allocator, where it only gates the creation of new memory blocks and dedicated allocations. Previously it was a heuristic pre-check that could reject a resource even when it would have fit in already-allocated memory.
52
+
53
+
Also fixed along the way:
54
+
55
+
- On Vulkan, buffers used as acceleration-structure build inputs are now explicitly 16-byte aligned, as acceleration-structure build commands require. Previously this held only by accident of allocator layout and could be violated on some drivers (observed on AMD).
56
+
- Device memory is no longer leaked on rare error paths during resource creation.
57
+
58
+
By @cwfitzgerald in [#9794](https://github.com/gfx-rs/wgpu/pull/9794).
0 commit comments