Add abseil hashmaps and use in texture list, also fix bugs in texture list insertion

This commit is contained in:
Rye Mutt
2019-09-28 19:03:49 -04:00
parent 0880c762c9
commit 8561af1f84
29 changed files with 136 additions and 21 deletions

View File

@@ -120,6 +120,7 @@ void LLViewerTextureList::doPreloadImages()
llassert_always(mInitialized) ;
llassert_always(mImageList.empty()) ;
llassert_always(mUUIDMap.empty()) ;
llassert_always(mUUIDDict.empty());
// Set the "missing asset" image
LLViewerFetchedTexture::sMissingAssetImagep = LLViewerTextureManager::getFetchedTextureFromFile("missing_asset.tga", FTT_LOCAL_FILE, MIPMAP_NO, LLViewerFetchedTexture::BOOST_UI);
@@ -692,8 +693,12 @@ void LLViewerTextureList::addImage(LLViewerFetchedTexture *new_image)
sNumImages++;
addImageToList(new_image);
mUUIDMap.emplace(image_id, new_image);
mUUIDDict.emplace(image_id, new_image);
auto ret_pair = mUUIDMap.emplace(image_id, new_image);
if (!ret_pair.second)
{
ret_pair.first->second = new_image;
}
mUUIDDict.insert_or_assign(image_id, new_image);
}