diff options
author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2025-02-25 09:07:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-25 09:07:45 -0500 |
commit | ca079bc14911ddca631167e078deab6d35224f23 (patch) | |
tree | 02cca92e9e23bc4a7dfa51b0d52f10cb6d61e9ac | |
parent | 5b425eb9dc72256ee18bed4f7235ea1c060ef951 (diff) | |
parent | ae7658de24e487719a8cbdaaa334ba1619ec6de8 (diff) |
Merge pull request #3610 from secondlife/geenz/mirrors-enabled-fix
#3331 - Mirrors no longer function on relog
-rw-r--r-- | indra/newview/llheroprobemanager.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llheroprobemanager.h | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/indra/newview/llheroprobemanager.cpp b/indra/newview/llheroprobemanager.cpp index e754de2fd1..675a8dfe7d 100644 --- a/indra/newview/llheroprobemanager.cpp +++ b/indra/newview/llheroprobemanager.cpp @@ -80,6 +80,17 @@ void LLHeroProbeManager::update() return; } + // Part of a hacky workaround to fix #3331. + // For some reason clearing shaders will cause mirrors to actually work. + // There's likely some deeper state issue that needs to be resolved. + // - Geenz 2025-02-25 + if (!mInitialized && LLStartUp::getStartupState() > STATE_PRECACHE) + { + LLViewerShaderMgr::instance()->clearShaderCache(); + LLViewerShaderMgr::instance()->setShaders(); + mInitialized = true; + } + LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; llassert(!gCubeSnapshot); // assert a snapshot is not in progress if (LLAppViewer::instance()->logoutRequestSent()) diff --git a/indra/newview/llheroprobemanager.h b/indra/newview/llheroprobemanager.h index 58a94a3de8..2737ec5ddf 100644 --- a/indra/newview/llheroprobemanager.h +++ b/indra/newview/llheroprobemanager.h @@ -144,6 +144,7 @@ private: std::vector<LLPointer<LLVOVolume>> mHeroVOList; LLPointer<LLVOVolume> mNearestHero; - + // Part of a hacky workaround to fix #3331. + bool mInitialized = false; }; |