From 46e04fe273ce88c52c08a6417a01ec89bd4e89e9 Mon Sep 17 00:00:00 2001
From: RunitaiLinden <davep@lindenlab.com>
Date: Tue, 23 May 2023 16:11:43 -0500
Subject: [PATCH] DRTVWR-559 Remove RenderReflectionProbeCount (which is
 bugged) and lean on RenderReflectionProbeLevel for preferences (which works).

---
 indra/newview/app_settings/settings.xml       | 11 ----------
 .../shaders/class3/deferred/softenLightF.glsl |  3 ---
 indra/newview/featuretable.txt                | 14 +++----------
 indra/newview/featuretable_mac.txt            | 20 ++++++-------------
 indra/newview/llreflectionmapmanager.cpp      |  4 +---
 indra/newview/llreflectionmapmanager.h        |  2 +-
 indra/newview/llviewershadermgr.cpp           |  4 +---
 7 files changed, 12 insertions(+), 46 deletions(-)

diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 0e72fadec7c..79e150a6f21 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -10457,17 +10457,6 @@
     <key>Value</key>
     <integer>1</integer>
   </map>
-  <key>RenderReflectionProbeCount</key>
-  <map>
-    <key>Comment</key>
-    <string>Number of reflection probes (maximum is 256, requires restart)</string>
-    <key>Persist</key>
-    <integer>1</integer>
-    <key>Type</key>
-    <string>S32</string>
-    <key>Value</key>
-    <integer>256</integer>
-  </map>
   <key>RenderReflectionProbeResolution</key>
   <map>
     <key>Comment</key>
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
index 2f3efaa94a7..3945e34d7a3 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
@@ -25,9 +25,6 @@
 
 #define FLT_MAX 3.402823466e+38
 
-#define REFMAP_COUNT 256
-#define REF_SAMPLE_COUNT 64 //maximum number of samples to consider
-
 out vec4 frag_color;
 
 uniform sampler2D diffuseRect;
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index dd4530dae04..6f09beea4ab 100644
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -1,4 +1,4 @@
-version 55
+version 56
 // The version number above should be incremented IF AND ONLY IF some
 // change has been made that is sufficiently important to justify
 // resetting the graphics preferences of all users to the recommended
@@ -60,7 +60,6 @@ Disregard128DefaultDrawDistance	1	1
 Disregard96DefaultDrawDistance	1	1
 RenderCompressTextures		1	1
 RenderShaderLightingMaxLevel	1	3
-RenderReflectionProbeCount  1   256
 RenderReflectionProbeLevel  1   3
 RenderDeferred				1	1
 RenderDeferredSSAO			1	1
@@ -103,7 +102,6 @@ RenderShadowDetail			1	0
 WLSkyDetail					1	96
 RenderFSAASamples			1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   8
 RenderReflectionProbeLevel  1   0
 
 //
@@ -133,8 +131,7 @@ RenderShadowDetail			1	0
 WLSkyDetail					1	96
 RenderFSAASamples			1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   16
-RenderReflectionProbeLevel  1   1
+RenderReflectionProbeLevel  1   0
 
 //
 // Medium Graphics Settings (standard)
@@ -163,8 +160,7 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   32
-RenderReflectionProbeLevel  1   2
+RenderReflectionProbeLevel  1   1
 
 //
 // Medium High Graphics Settings (deferred enabled)
@@ -193,7 +189,6 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   64
 RenderReflectionProbeLevel  1   2
 
 //
@@ -223,7 +218,6 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   128
 RenderReflectionProbeLevel  1   3
 
 //
@@ -253,7 +247,6 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   256
 RenderReflectionProbeLevel  1   3
 
 //
@@ -283,7 +276,6 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  1
-RenderReflectionProbeCount  1   256
 RenderReflectionProbeLevel  1   3
 
 //
diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt
index ef7827e5962..c4677de7bbd 100644
--- a/indra/newview/featuretable_mac.txt
+++ b/indra/newview/featuretable_mac.txt
@@ -1,4 +1,4 @@
-version 50
+version 51
 // The version number above should be incremented IF AND ONLY IF some
 // change has been made that is sufficiently important to justify
 // resetting the graphics preferences of all users to the recommended
@@ -71,7 +71,6 @@ RenderGLMultiThreadedMedia         1   0
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	2
 RenderScreenSpaceReflections 1  1
-RenderReflectionProbeCount  1   256
 RenderReflectionProbeLevel  1   3
 
 //
@@ -101,7 +100,6 @@ RenderFSAASamples			1	0
 RenderReflectionsEnabled    1   0
 RenderReflectionProbeDetail	1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   8
 RenderReflectionProbeLevel  1   0
 
 //
@@ -131,8 +129,7 @@ RenderFSAASamples			1	0
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   16
-RenderReflectionProbeLevel  1   1
+RenderReflectionProbeLevel  1   0
 
 //
 // Medium Graphics Settings (standard)
@@ -161,8 +158,7 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   32
-RenderReflectionProbeLevel  1   2
+RenderReflectionProbeLevel  1   0
 
 //
 // Medium High Graphics Settings (deferred enabled)
@@ -191,8 +187,7 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	0
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   64
-RenderReflectionProbeLevel  1   2
+RenderReflectionProbeLevel  1   0
 
 //
 // High Graphics Settings (deferred + SSAO)
@@ -221,8 +216,7 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   128
-RenderReflectionProbeLevel  1   3
+RenderReflectionProbeLevel  1   1
 
 //
 // High Ultra Graphics Settings (deferred + SSAO + shadows)
@@ -251,8 +245,7 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  0
-RenderReflectionProbeCount  1   256
-RenderReflectionProbeLevel  1   3
+RenderReflectionProbeLevel  1   2
 
 //
 // Ultra graphics (REALLY PURTY!)
@@ -281,7 +274,6 @@ RenderFSAASamples			1	2
 RenderReflectionsEnabled    1   1
 RenderReflectionProbeDetail	1	1
 RenderScreenSpaceReflections 1  1
-RenderReflectionProbeCount  1   256
 RenderReflectionProbeLevel  1   3
 
 //
diff --git a/indra/newview/llreflectionmapmanager.cpp b/indra/newview/llreflectionmapmanager.cpp
index 2235453e470..5dc93dbeb8d 100644
--- a/indra/newview/llreflectionmapmanager.cpp
+++ b/indra/newview/llreflectionmapmanager.cpp
@@ -1205,9 +1205,7 @@ void LLReflectionMapManager::renderDebug()
 
 void LLReflectionMapManager::initReflectionMaps()
 {
-    static LLCachedControl<S32> probe_count(gSavedSettings, "RenderReflectionProbeCount", LL_MAX_REFLECTION_PROBE_COUNT);
-
-    U32 count = llclamp((S32) probe_count, 1, LL_MAX_REFLECTION_PROBE_COUNT);
+    U32 count = LL_MAX_REFLECTION_PROBE_COUNT;
 
     if (mTexture.isNull() || mReflectionProbeCount != count || mReset)
     {
diff --git a/indra/newview/llreflectionmapmanager.h b/indra/newview/llreflectionmapmanager.h
index c0618de4107..5a3901cae9f 100644
--- a/indra/newview/llreflectionmapmanager.h
+++ b/indra/newview/llreflectionmapmanager.h
@@ -177,7 +177,7 @@ class alignas(16) LLReflectionMapManager
 
     LLPointer<LLReflectionMap> mDefaultProbe;  // default reflection probe to fall back to for pixels with no probe influences (should always be at cube index 0)
 
-    // number of reflection probes to use for rendering (based on saved setting RenderReflectionProbeCount)
+    // number of reflection probes to use for rendering
     U32 mReflectionProbeCount;
 
     // resolution of reflection probes
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index 5ea52aca79d..8e5f5ef8661 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -639,8 +639,7 @@ std::string LLViewerShaderMgr::loadBasicShaders()
 
 	bool has_reflection_probes = gSavedSettings.getBOOL("RenderReflectionsEnabled") && gGLManager.mGLVersion > 3.99f;
 
-	S32 probe_count = llclamp(gSavedSettings.getS32("RenderReflectionProbeCount"), 1, LL_MAX_REFLECTION_PROBE_COUNT);
-    S32 probe_level = llclamp(gSavedSettings.getS32("RenderReflectionProbeLevel"), 0, 3);
+	S32 probe_level = llclamp(gSavedSettings.getS32("RenderReflectionProbeLevel"), 0, 3);
 
     if (ambient_kill)
     {
@@ -676,7 +675,6 @@ std::string LLViewerShaderMgr::loadBasicShaders()
 
 	if (has_reflection_probes)
 	{
-		attribs["REFMAP_COUNT"] = std::to_string(probe_count);
         attribs["REFMAP_LEVEL"] = std::to_string(probe_level);
 		attribs["REF_SAMPLE_COUNT"] = "32";
 	}
-- 
GitLab