Crash at LLViewerTexture::updateClass()
parent
0ff2bd1a40
commit
793f5ac341
|
|
@ -539,9 +539,9 @@ void LLViewerTexture::updateClass()
|
|||
LL_WARNS() << "Low system memory detected, emergency downrezzing off screen textures" << LL_ENDL;
|
||||
sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.5f);
|
||||
|
||||
for (auto image : gTextureList)
|
||||
for (auto& image : gTextureList)
|
||||
{
|
||||
gTextureList.updateImageDecodePriority(image);
|
||||
gTextureList.updateImageDecodePriority(image, false /*will modify gTextureList otherwise!*/);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -904,7 +904,7 @@ void LLViewerTextureList::clearFetchingRequests()
|
|||
|
||||
extern bool gCubeSnapshot;
|
||||
|
||||
void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imagep)
|
||||
void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imagep, bool flush_images)
|
||||
{
|
||||
if (imagep->isInDebug() || imagep->isUnremovable())
|
||||
{
|
||||
|
|
@ -993,7 +993,7 @@ void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imag
|
|||
// Flush formatted images using a lazy flush
|
||||
//
|
||||
S32 num_refs = imagep->getNumRefs();
|
||||
if (num_refs == min_refs)
|
||||
if (num_refs == min_refs && flush_images)
|
||||
{
|
||||
if (imagep->getLastReferencedTimer()->getElapsedTimeF32() > lazy_flush_timeout)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ public:
|
|||
// - updates decode priority
|
||||
// - updates desired discard level
|
||||
// - cleans up textures that haven't been referenced in awhile
|
||||
void updateImageDecodePriority(LLViewerFetchedTexture* imagep);
|
||||
void updateImageDecodePriority(LLViewerFetchedTexture* imagep, bool flush_images = true);
|
||||
|
||||
private:
|
||||
F32 updateImagesCreateTextures(F32 max_time);
|
||||
|
|
|
|||
Loading…
Reference in New Issue