From 6851c65b3a220ad9667a84eda7d5167d87c39a6f Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Mon, 11 Mar 2024 11:59:46 -0400
Subject: [PATCH] This broke other content

---
 .../newview/app_settings/shaders/class2/deferred/alphaF.glsl  | 4 +---
 .../app_settings/shaders/class3/deferred/materialF.glsl       | 4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
index e95885ca401..f4c59c53887 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
@@ -78,8 +78,6 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);
 
 float getAmbientClamp();
 
-float calcLegacyDistanceAttenuation(float distance, float falloff);
-
 void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv,
         vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);
 
@@ -128,7 +126,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 diffuse, vec3 v, vec3 n, vec
 		lv = normalize(lv);
 	
 		//distance attenuation
-		float dist_atten = calcLegacyDistanceAttenuation(dist, fa);
+		float dist_atten = clamp(1.0-(dist-1.0*(1.0-fa))/fa, 0.0, 1.0);
 		dist_atten *= dist_atten;
         dist_atten *= 2.0f;
 
diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
index 566798724a7..35d98f0a8c2 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
@@ -53,8 +53,6 @@ out vec4 frag_color;
 float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);
 #endif
 
-float calcLegacyDistanceAttenuation(float distance, float falloff);
-
 void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv,
         vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);
 void applyGlossEnv(inout vec3 color, vec3 glossenv, vec4 spec, vec3 pos, vec3 norm);
@@ -113,7 +111,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 npos, vec3 diffuse, vec4 spe
         lv = normalize(lv);
 
         //distance attenuation
-        float dist_atten = calcLegacyDistanceAttenuation(dist, fa);
+        float dist_atten = clamp(1.0 - (dist - 1.0*(1.0 - fa)) / fa, 0.0, 1.0);
         dist_atten *= dist_atten;
         dist_atten *= 2.0f;
 
-- 
GitLab