summaryrefslogtreecommitdiff
path: root/indra/newview/llreflectionmapmanager.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2022-09-22 17:27:18 -0500
committerDave Parks <davep@lindenlab.com>2022-09-22 17:27:18 -0500
commite5d463ca200bdfa93b8c65e588d490c2f23e3918 (patch)
treef30bebb5091a9e1a8230a34bd4a2e6ae3e5f7987 /indra/newview/llreflectionmapmanager.cpp
parent4697b7049c3557189e6242ac2a8b6a4c2c0588c7 (diff)
SL-17705 Backwards compatibility pass. Support OpenGL pre-4.0 by disabling reflection probes and anti-aliasing. Get render parity with current release viewer when reflection probes are disabled.
Diffstat (limited to 'indra/newview/llreflectionmapmanager.cpp')
-rw-r--r--indra/newview/llreflectionmapmanager.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index 2aa1f06eaf..6108fe84d3 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -63,7 +63,7 @@ struct CompareProbeDistance
// helper class to seed octree with probes
void LLReflectionMapManager::update()
{
- if (!LLPipeline::sRenderPBR || gTeleportDisplay)
+ if (!LLPipeline::sReflectionProbesEnabled || gTeleportDisplay)
{
return;
}
@@ -130,8 +130,9 @@ void LLReflectionMapManager::update()
}
bool did_update = false;
-
- bool realtime = gSavedSettings.getS32("RenderReflectionProbeDetail") >= (S32)LLReflectionMapManager::DetailLevel::REALTIME;
+
+ static LLCachedControl<S32> sDetail(gSavedSettings, "RenderReflectionProbeDetail", -1);
+ bool realtime = sDetail >= (S32)LLReflectionMapManager::DetailLevel::REALTIME;
LLReflectionMap* closestDynamic = nullptr;
@@ -613,6 +614,11 @@ void LLReflectionMapManager::updateNeighbors(LLReflectionMap* probe)
void LLReflectionMapManager::updateUniforms()
{
+ if (!LLPipeline::sReflectionProbesEnabled)
+ {
+ return;
+ }
+
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
// structure for packing uniform buffer object
@@ -740,7 +746,11 @@ void LLReflectionMapManager::updateUniforms()
void LLReflectionMapManager::setUniforms()
{
- llassert(LLPipeline::sRenderPBR);
+ if (!LLPipeline::sReflectionProbesEnabled)
+ {
+ return;
+ }
+
if (mUBO == 0)
{
updateUniforms();