summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/FramebufferShaderGen.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2025-06-20 09:17:21 +0200
committerJosJuice <josjuice@gmail.com>2026-02-04 21:33:56 +0100
commit083f3a7e0e6d35f5a9046c9f3e17c16427e6fde8 (patch)
treee665c4e0c98a7749eb74ad4ee74994fe16c47cea /Source/Core/VideoCommon/FramebufferShaderGen.cpp
parentd3ec630904b362774d16f1e52d522fb0ecb6711f (diff)
Core: Create fastmem mappings for page address translation
Previously we've only been setting up fastmem mappings for block address translation, but now we also do it for page address translation. This increases performance when games access memory using page tables, but decreases performance when games set up page tables. The tlbie instruction is used as an indication that the mappings need to be updated. There are some accuracy downsides: * The TLB is now effectively infinitely large, which matters if games don't use tlbie when modifying page tables. * The R and C bits for page table entries get set pessimistically rather than when the page is actually accessed. No games are known to be broken by these inaccuracies, but unfortunately the second inaccuracy causes a large performance regression in Rogue Squadron 3. You still get the old, more accurate behavior if Enable Write-Back Cache is on.
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferShaderGen.cpp')
0 files changed, 0 insertions, 0 deletions