Texture pools: size-class slab pools for 256K-2M textures (fix stranded space of the single TLSF medium pool) #587
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#587
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Measured on 2026-10-09 in a heavy sim. Raising the medium texture pool limit from 256 KB to 2 MB had two effects:
Design
Size-class slab pools. SL textures are power-of-two dimensions, so their memory requirements cluster in a series that roughly doubles each step: ~352K, ~704K, ~1.4M, ~2.8M.
tex size bandsline now logs the 16 most common exact sizes. Add a few % of headroom per class.Stats
Per-class occupancy and stranded bytes go in the VKMem
tex poolsline.Backstop (only if still needed after measuring)
A budgeted background defrag: move images into fuller blocks with a GPU copy and a bindless slot rewrite, then free the old image after its fence. Skip images with uploads, sharpen or encode in flight, media textures, and direct image/view holders.
Done when
In a heavy sim:
Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).