TextureCache: Never rehash the PPGe atlas

A HASH_RECHECK forced a rehash even of the RELIABLE atlas, which hashed
its fake address as if it were in emulated memory: a memory exception
in the middle of the game's next system dialog update. Loading a state
saved after one had drawn text was enough to hit it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-10-29 00:20:14 +01:00
1 parent 7aecf86c4d
commit f1274c1889
1 file changed
+5
+5
View File
@@ -718,6 +718,11 @@ TextureApplyResult TextureCacheCommon::ApplyTexture(bool doBind) {
rehash = true;
}
// The PPGe atlas is host data, not in emulated memory, and never changes.
if (entry->status & TexStatus::IS_PPGE_ATLAS) {
rehash = false;
}
// got one!
VERBOSE_LOG(Log::TexCache, "%08x: Texture found in cache. Rehash flag = %d", texaddr, (int)rehash);