From d173d646de18bc9e158651989045fef8ddd1523f Mon Sep 17 00:00:00 2001 From: degasus Date: Mon, 25 Feb 2013 16:11:24 +0100 Subject: [PATCH] fix last commit by neobrain --- Source/Core/VideoCommon/Src/TextureCacheBase.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Source/Core/VideoCommon/Src/TextureCacheBase.cpp b/Source/Core/VideoCommon/Src/TextureCacheBase.cpp index d261d9d6d29f..6871c411fa5d 100644 --- a/Source/Core/VideoCommon/Src/TextureCacheBase.cpp +++ b/Source/Core/VideoCommon/Src/TextureCacheBase.cpp @@ -129,13 +129,12 @@ void TextureCache::Cleanup() TexCache::iterator tcend = textures.end(); while (iter != tcend) { - if (frameCount > TEXTURE_KILL_THRESHOLD + iter->second->frameCount) - { + if ( frameCount > TEXTURE_KILL_THRESHOLD + iter->second->frameCount + // EFB copies living on the host GPU are unrecoverable and thus shouldn't be deleted // TODO: encoding the texture back to RAM here might be a good idea - if (g_ActiveConfig.bCopyEFBToTexture && iter->second->IsEfbCopy()) - continue; - + && ! (g_ActiveConfig.bCopyEFBToTexture && iter->second->IsEfbCopy()) ) + { delete iter->second; textures.erase(iter++); }