aboutsummaryrefslogtreecommitdiff
path: root/src/common/host_memory.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-11-01 08:43:42 -0500
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-11-01 08:43:42 -0500
commit6d4c595634f85376e0600f67162347426e74944d (patch)
tree990258f195208415d7658787d898f2b15ddf444f /src/common/host_memory.cpp
parentadae7635708e155d967e84d7ad84bf63c5203409 (diff)
vulkan: reuse ASTC transcode decode images
The RGBA8 image an ASTC texture is decoded into before BC1/BC3 compression was made for each texture (263 us) and freed once the GPU was past it. Once the GPU is done with one it now decodes the next texture of the same shape: title 1's title screen decodes dozens of textures a frame, mostly of a few shapes. Free ones are kept up to 256 MiB and destroyed after 60 unused frames. Taking them from VMA's shared blocks instead was faster (90 us), but freeing dozens a frame there left ~1 GB of those blocks unused. Against that, Mario Kart World's title screen over 10 minutes: VRAM in use 6.34 -> 5.90 GB on average, peak 6.99 -> 6.45 GB.
Diffstat (limited to 'src/common/host_memory.cpp')
0 files changed, 0 insertions, 0 deletions