Defer texture invalidation to the video thread from the video configuration dialog. Should fix issue 4069

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7108 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
baby.lueshi
2011-02-08 03:47:59 +00:00
parent f0adc3adb4
commit 1f0663c1a8
5 changed files with 17 additions and 7 deletions

View File

@ -26,7 +26,7 @@ TextureCache *g_texture_cache;
u8 *TextureCache::temp = NULL;
TextureCache::TexCache TextureCache::textures;
Common::CriticalSection TextureCache::texMutex;
bool TextureCache::DeferredInvalidate;
TextureCache::TCacheEntryBase::~TCacheEntryBase()
{
@ -53,7 +53,6 @@ TextureCache::TextureCache()
void TextureCache::Invalidate(bool shutdown)
{
texMutex.Enter();
TexCache::iterator
iter = textures.begin(),
tcend = textures.end();
@ -68,7 +67,13 @@ void TextureCache::Invalidate(bool shutdown)
if(g_ActiveConfig.bHiresTextures && !g_ActiveConfig.bDumpTextures)
HiresTextures::Init(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strUniqueID.c_str());
SetHash64Function(g_ActiveConfig.bHiresTextures || g_ActiveConfig.bDumpTextures);
texMutex.Leave();
DeferredInvalidate = false;
}
void TextureCache::InvalidateDefer()
{
DeferredInvalidate = true;
}
TextureCache::~TextureCache()