diff options
author | Dave Parks <davep@lindenlab.com> | 2022-09-22 17:27:18 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2022-09-22 17:27:18 -0500 |
commit | e5d463ca200bdfa93b8c65e588d490c2f23e3918 (patch) | |
tree | f30bebb5091a9e1a8230a34bd4a2e6ae3e5f7987 /indra/newview/llreflectionmapmanager.cpp | |
parent | 4697b7049c3557189e6242ac2a8b6a4c2c0588c7 (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.cpp | 18 |
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(); |