From 54f35d8a1c793af22c3f0d63a79b3d378be7a951 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Tue, 4 Jun 2024 19:50:05 -0400
Subject: [PATCH] Some NaN fixes from runitai

---
 .../app_settings/shaders/class1/deferred/terrainF.glsl     | 2 +-
 .../app_settings/shaders/class1/deferred/terrainV.glsl     | 5 ++++-
 indra/newview/llface.cpp                                   | 7 -------
 3 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
index 5f598f84a75..5c79fd73158 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl
@@ -57,7 +57,7 @@ void main()
    
     outColor.a = 0.0; // yes, downstream atmospherics 
     
-    frag_data[0] = outColor;
+    frag_data[0] = max(outColor, vec4(0));
     frag_data[1] = vec4(0.0,0.0,0.0,-1.0);
     vec3 nvn = normalize(vary_normal);
     frag_data[2] = vec4(nvn.xyz, GBUFFER_FLAG_HAS_ATMOS);
diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
index 8e1e4b54d57..3ce2efa9730 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl
@@ -47,7 +47,10 @@ vec2 texgen_object(vec4 vpos, mat4 mat, vec4 tp0, vec4 tp1)
     
     tcoord.x = dot(vpos, tp0);
     tcoord.y = dot(vpos, tp1);
-    
+
+    tcoord.z = 0;
+    tcoord.w = 1;
+
     tcoord = mat * tcoord; 
     
     return tcoord.xy; 
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index 5c11816acaf..9dede3c479d 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -649,13 +649,6 @@ void LLFace::renderOneWireframe(const LLColor4 &color, F32 fogCfx, bool wirefram
 
     {
         LLGLDisable depth(wireframe_selection ? 0 : GL_BLEND);
-        //LLGLEnable stencil(wireframe_selection ? 0 : GL_STENCIL_TEST);
-
-        if (!wireframe_selection)
-        { //modify wireframe into outline selection mode
-            glStencilFunc(GL_NOTEQUAL, 2, 0xffff);
-            glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
-        }
 
         LLGLEnable offset(GL_POLYGON_OFFSET_LINE);
         glPolygonOffset(3.f, 3.f);
-- 
GitLab