Skip to content

v0.28.11 — Direct-write trackedRefs (ML OOM fix, 253× improvement)

Choose a tag to compare

@kolkov kolkov released this 26 May 21:33
· 165 commits to main since this release
84fb28d

Fixed

  • Core: eliminate intermediate trackedRefs copies in pass encoders — Pass encoders
    write ResourceRefs directly to parent CommandEncoder's slice. No per-pass intermediate
    storage, no copy at End(). Encoder pre-allocates capacity 64.

Benchmark (Born ML pattern)

Scenario allocs/op B/op
Baseline (no bind) 14 1.9 KB
100 SetBindGroup 21 5.8 KB
1000 SetBindGroup 25 49 KB

For Born ML (10K dispatches/step, 312 encoders): ~15 MB heap vs 3.8 GB (253× improvement).

Matches Rust wgpu where trackers live in the command encoder throughout recording.