Make tex cache not check size logic while performing validation.
meow-7.2.2
Graham Linden 2019-05-29 08:17:34 -07:00
parent 5ad28c1f15
commit baa1c7f6d7
1 changed files with 9 additions and 9 deletions

View File

@ -1733,28 +1733,27 @@ void LLTextureCache::purgeTextures(bool validate)
iter != time_idx_set.end(); ++iter)
{
S32 idx = iter->second;
bool purge_entry = false;
std::string filename = getTextureFileName(entries[idx].mID);
if (cache_size >= purged_cache_size)
{
purge_entry = true;
}
else if (validate)
bool purge_entry = false;
if (validate)
{
// make sure file exists and is the correct size
U32 uuididx = entries[idx].mID.mData[0];
if (uuididx == validate_idx)
{
std::string filename = getTextureFileName(entries[idx].mID);
LL_DEBUGS("TextureCache") << "Validating: " << filename << "Size: " << entries[idx].mBodySize << LL_ENDL;
S32 bodysize = LLAPRFile::size(filename, getLocalAPRFilePool());
if (bodysize != entries[idx].mBodySize)
{
LL_WARNS("TextureCache") << "TEXTURE CACHE BODY HAS BAD SIZE: " << bodysize << " != " << entries[idx].mBodySize
<< filename << LL_ENDL;
LL_WARNS("TextureCache") << "TEXTURE CACHE BODY HAS BAD SIZE: " << bodysize << " != " << entries[idx].mBodySize << filename << LL_ENDL;
purge_entry = true;
}
}
}
else if (cache_size >= purged_cache_size)
{
purge_entry = true;
}
else
{
break;
@ -1763,6 +1762,7 @@ void LLTextureCache::purgeTextures(bool validate)
if (purge_entry)
{
purge_count++;
std::string filename = getTextureFileName(entries[idx].mID);
LL_DEBUGS("TextureCache") << "PURGING: " << filename << LL_ENDL;
cache_size -= entries[idx].mBodySize;
removeEntry(idx, entries[idx], filename) ;