aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/util.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 01:26:52 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-29 01:26:52 -0400
commitc01459347405591446d50858d7b075d617a58be9 (patch)
treee2b31109ab0ee66ca4b12612619bdeab03506be9 /src/video_core/texture_cache/util.cpp
parente8bc734d1040044abe117a369a9f80a792e51df4 (diff)
video_core: cheaper small GPU reads, buffer usage tracking and compute uniforms
- MemoryManager::ReadBlockUnsafe reads within one 4 KiB page through a single translation (as Read<T> does) instead of the page walk: texture and sampler descriptors, several per draw (2.6% -> 0.1% of title 1's GPU thread). - UsageTracker skips ranges it tracked just before (until Reset): draws bind the same multi-megabyte storage buffers again and again, and each Track wrote a word per 4 KiB (2.0% -> 0.7%). - Small compute uniform buffers the GPU has not written are streamed, as graphics ones are; synchronizing them re-protected pages an inline upload had just unprotected, two VirtualProtect calls per dispatch (1.9% -> 0.7%, page protection 3.2% -> 2.3%).
Diffstat (limited to 'src/video_core/texture_cache/util.cpp')
0 files changed, 0 insertions, 0 deletions