diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 04:56:16 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 04:56:16 -0400 |
| commit | 2c6d8f03aadb3c9d900909bd4af64bbb18614d6d (patch) | |
| tree | f7ae707fd278434de8ced86a266d43a6752dc827 /src/video_core/gpu_thread.cpp | |
| parent | 64c91974f4455a63a025149a4ba8e2c46894bdc7 (diff) | |
nx2: unmap GPU memory the game frees
nx2:gpu 213 (NormalUnmapGpuMemory4K) and 102 (destroy GPU-accessible
memory) were no-ops, so Eden kept freed memory mapped for the GPU. Title 4
frees its customization-room memory right after saving and reuses it as
ordinary heap; pending GPU->CPU write-backs for the old buffers then landed on
the new objects, and two threads crashed on garbage pointers ~5 s later
(the post-customization freeze).
Unmap the range from every address space (the GMMU unmap drops cached
buffers/images and their pending downloads), keep the registry's mapping
list in step, re-map 211 requests even at the memory's own address, and
drop freed regions from the semaphore mirror table, which every 8 KiB
allocation used to fill for good after 32 entries.
Diffstat (limited to 'src/video_core/gpu_thread.cpp')
0 files changed, 0 insertions, 0 deletions
