aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/image_base.cpp
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-31 22:53:16 -0400
committerkraibse <33869366+kraibse@users.noreply.github.com>2026-11-01 17:29:56 +0100
commit139b7e5efb7c4181f14e987706eef26ca1f327c0 (patch)
tree0d6ce4243e0eb9566c997c780f1917040c8ac2f3 /src/video_core/texture_cache/image_base.cpp
parent4d6a13e3d9eaa7bf17381fce0e50d5275ac8957e (diff)
nx2: count a mapped sparse tile as written
With remap support Mario Kart World fills nine world-sized masks (R8 16384x16384, RG16 and R16 8192x8192, one sparse region each) in its own memory and then maps them in through 216. Nothing writes them through the sparse region, so its blocks stayed unwritten and the texture cache kept the images over them without memory, reading zero: the static world (roads, buildings, rocks, trees) rendered unlit while karts and cars were lit. Without remap support the game never maps them and lights the world without them. A tile map now counts its blocks as written and invalidates the caches over the tile, so those images get memory and load what the game mapped. That costs the masks' full size in device memory (about 2.9 GB in Mario Kart World), which is what they need until the texture cache can back single images tile by tile. DeviceMemoryManager::Unmap no longer needs its flag to keep the caches.
Diffstat (limited to 'src/video_core/texture_cache/image_base.cpp')
0 files changed, 0 insertions, 0 deletions