revert last commit, add CheckInvalidState to VideoBackend

This commit is contained in:
degasus
2012-12-23 13:32:23 +01:00
parent ffddfd8662
commit bd0abb3d2f
9 changed files with 57 additions and 57 deletions

View File

@ -180,6 +180,7 @@ void VideoBackendHardware::InitializeShared()
memset((void*)&s_beginFieldArgs, 0, sizeof(s_beginFieldArgs));
memset(&s_accessEFBArgs, 0, sizeof(s_accessEFBArgs));
s_AccessEFBResult = 0;
m_invalid = false;
}
// Run from the CPU thread
@ -198,16 +199,25 @@ void VideoBackendHardware::DoState(PointerWrap& p)
// Refresh state.
if (p.GetMode() == PointerWrap::MODE_READ)
{
BPInvalidate();
m_invalid = true;
RecomputeCachedArraybases();
// Clear all caches that touch RAM
// (? these don't appear to touch any emulation state that gets saved. moved to on load only.)
TextureCache::InvalidateHashes();
VertexLoaderManager::MarkAllDirty();
}
}
void VideoBackendHardware::CheckInvalidState() {
if (m_invalid)
{
m_invalid = false;
BPReload();
TextureCache::Invalidate();
}
}
void VideoBackendHardware::PauseAndLock(bool doLock, bool unpauseOnUnlock)
{
Fifo_PauseAndLock(doLock, unpauseOnUnlock);