summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2022-08-31 11:36:00 -0500
committerDave Parks <davep@lindenlab.com>2022-08-31 11:36:00 -0500
commitc9f893b1003b2d9db01362430dbbfa59a91d4fd7 (patch)
tree39f169f9d5d37d88ee007ae5995cbd8cce83c798 /indra/newview
parente8002dc00f0a043021c16291c2ea6a2de72ff260 (diff)
SL-18065 WIP -- Adjust max virtual size to keep debug floater readable. Make assert on shutdown less frequent (still not gone, likely race condition). Fix unrelated assertion in reflection probes.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llappviewer.cpp8
-rw-r--r--indra/newview/llreflectionmapmanager.cpp3
-rw-r--r--indra/newview/llviewertexture.cpp5
-rw-r--r--indra/newview/llviewertexture.h1
4 files changed, 10 insertions, 7 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 0e2828332e..6ca35684d9 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2068,8 +2068,12 @@ bool LLAppViewer::cleanup()
//MUST happen AFTER SUBSYSTEM_CLEANUP(LLCurl)
delete sTextureCache;
sTextureCache = NULL;
- delete sTextureFetch;
- sTextureFetch = NULL;
+ if (sTextureFetch)
+ {
+ sTextureFetch->shutdown();
+ delete sTextureFetch;
+ sTextureFetch = NULL;
+ }
delete sImageDecodeThread;
sImageDecodeThread = NULL;
delete mFastTimerLogThread;
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index b285cc531e..d349b7e024 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -166,7 +166,7 @@ void LLReflectionMapManager::update()
if (realtime &&
closestDynamic == nullptr &&
- probe->mCubeArray.notNull() &&
+ probe->mCubeIndex != -1 &&
probe->getIsDynamic())
{
closestDynamic = probe;
@@ -324,6 +324,7 @@ S32 LLReflectionMapManager::allocateCubeIndex()
{
S32 ret = mProbes[i]->mCubeIndex;
mProbes[i]->mCubeIndex = -1;
+ mProbes[i]->mCubeArray = nullptr;
return ret;
}
}
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 0c23214b52..62e5fedb7d 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -78,7 +78,7 @@ LLPointer<LLViewerFetchedTexture> LLViewerFetchedTexture::sSmokeImagep = NULL;
LLPointer<LLViewerFetchedTexture> LLViewerFetchedTexture::sFlatNormalImagep = NULL;
LLViewerMediaTexture::media_map_t LLViewerMediaTexture::sMediaMap;
LLTexturePipelineTester* LLViewerTextureManager::sTesterp = NULL;
-F32 LLViewerFetchedTexture::sMaxVirtualSize = F32_MAX/2.f;
+F32 LLViewerFetchedTexture::sMaxVirtualSize = 8192.f*8192.f;
const std::string sTesterName("TextureTester");
@@ -99,7 +99,6 @@ U32 LLViewerTexture::sMinLargeImageSize = 65536; //256 * 256.
U32 LLViewerTexture::sMaxSmallImageSize = MAX_CACHED_RAW_IMAGE_AREA;
bool LLViewerTexture::sFreezeImageUpdates = false;
F32 LLViewerTexture::sCurrentTime = 0.0f;
-F32 LLViewerTexture::sTexelPixelRatio = 1.0f;
LLViewerTexture::EDebugTexels LLViewerTexture::sDebugTexelsMode = LLViewerTexture::DEBUG_TEXELS_OFF;
@@ -809,7 +808,7 @@ void LLViewerTexture::addTextureStats(F32 virtual_size, BOOL needs_gltexture) co
mNeedsGLTexture = TRUE;
}
- virtual_size *= sTexelPixelRatio;
+ llassert(virtual_size <= LLViewerFetchedTexture::sMaxVirtualSize);
if (virtual_size > mMaxVirtualSize)
{
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 5893f549d0..a57886ff6f 100644
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -218,7 +218,6 @@ protected:
LL::WorkQueue::weak_t mMainQueue;
LL::WorkQueue::weak_t mImageQueue;
- static F32 sTexelPixelRatio;
public:
static const U32 sCurrentFileVersion;
static S32 sImageCount;