summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexturelist.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2012-05-29 18:02:11 -0600
committerXiaohong Bao <bao@lindenlab.com>2012-05-29 18:02:11 -0600
commit957bfcd5d90b4ae0dfccd7a934364461059f8402 (patch)
tree52a99be02d47cc168663a275070ae2e791aaec0e /indra/newview/llviewertexturelist.cpp
parent3a63d88e7b48397cbfd508c05632453653e678e3 (diff)
fo SH-3074: clear ghost and stale texture fetching requests in time.
Diffstat (limited to 'indra/newview/llviewertexturelist.cpp')
-rw-r--r--indra/newview/llviewertexturelist.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index e3b633dc0e..d95a9cd13b 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -58,7 +58,7 @@
#include "pipeline.h"
#include "llappviewer.h"
#include "llxuiparser.h"
-#include "llagent.h"
+#include "llviewerdisplay.h"
////////////////////////////////////////////////////////////////////////////
@@ -598,11 +598,15 @@ static LLFastTimer::DeclareTimer FTM_IMAGE_STATS("Stats");
void LLViewerTextureList::updateImages(F32 max_time)
{
- if(gAgent.getTeleportState() != LLAgent::TELEPORT_NONE)
+ static BOOL cleared = FALSE;
+ if(gTeleportDisplay && !cleared)
{
clearFetchingRequests();
+ gPipeline.clearRebuildGroups();
+ cleared = TRUE;
return;
}
+ cleared = FALSE;
LLAppViewer::getTextureFetch()->setTextureBandwidth(LLViewerStats::getInstance()->mTextureKBitStat.getMeanPerSec());
@@ -673,14 +677,13 @@ void LLViewerTextureList::clearFetchingRequests()
return;
}
+ LLAppViewer::getTextureFetch()->deleteAllRequests();
+
for (image_priority_list_t::iterator iter = mImageList.begin();
iter != mImageList.end(); ++iter)
{
- LLViewerFetchedTexture* image = *iter;
- if(image->hasFetcher())
- {
- image->forceToDeleteRequest() ;
- }
+ LLViewerFetchedTexture* imagep = *iter;
+ imagep->forceToDeleteRequest() ;
}
}
@@ -703,6 +706,7 @@ void LLViewerTextureList::updateImagesDecodePriorities()
if(imagep->isInDebug())
{
+ update_counter--;
continue; //is in debug, ignore.
}