From 6f136d403b6bbccae80661c6585f29e1caed3a7c Mon Sep 17 00:00:00 2001
From: Dave Parks <davep@lindenlab.com>
Date: Wed, 1 Feb 2023 17:09:34 -0600
Subject: [PATCH] SL-19000 Fix various 3D UI components not respecting depth
 buffer.  Incidental decruft.  Do I get a prize for 1000th jira?

---
 indra/llrender/llglstates.h                   |  39 +-----
 .../shaders/class1/deferred/fxaaF.glsl        |  12 +-
 .../class1/interface/glowcombineF.glsl        |  18 ++-
 .../class1/interface/glowcombineFXAAF.glsl    |  13 +-
 .../class1/interface/glowcombineV.glsl        |  12 +-
 indra/newview/lldrawpoolbump.cpp              |   1 -
 indra/newview/lldrawpoolsky.cpp               |   2 -
 indra/newview/llface.cpp                      |   8 --
 indra/newview/llmodelpreview.cpp              |   3 +-
 indra/newview/llselectmgr.cpp                 |  11 +-
 indra/newview/llviewerdisplay.cpp             |  25 ++--
 indra/newview/pipeline.cpp                    | 118 +++++++-----------
 indra/newview/pipeline.h                      |   1 -
 13 files changed, 76 insertions(+), 187 deletions(-)

diff --git a/indra/llrender/llglstates.h b/indra/llrender/llglstates.h
index 27ab1429256..c46585eab45 100644
--- a/indra/llrender/llglstates.h
+++ b/indra/llrender/llglstates.h
@@ -57,7 +57,7 @@ class LLGLSDefault
 {
 protected:
 	LLGLEnable mColorMaterial;
-	LLGLDisable mAlphaTest, mBlend, mCullFace, mDither, mFog, 
+	LLGLDisable mAlphaTest, mBlend, mCullFace, mDither, 
 		mLineSmooth, mLineStipple, mNormalize, mPolygonSmooth,
 		mGLMultisample;
 public:
@@ -70,7 +70,6 @@ class LLGLSDefault
 		mBlend(GL_BLEND), 
 		mCullFace(GL_CULL_FACE),
 		mDither(GL_DITHER),
-		mFog(GL_FOG), 
 		mLineSmooth(GL_LINE_SMOOTH),
 		mLineStipple(GL_LINE_STIPPLE),
 		mNormalize(GL_NORMALIZE),
@@ -82,11 +81,11 @@ class LLGLSDefault
 class LLGLSObjectSelect
 { 
 protected:
-	LLGLDisable mBlend, mFog, mAlphaTest;
+	LLGLDisable mBlend, mAlphaTest;
 	LLGLEnable mCullFace;
 public:
 	LLGLSObjectSelect()
-		: mBlend(GL_BLEND), mFog(GL_FOG), 
+		: mBlend(GL_BLEND), 
 		  mAlphaTest(GL_ALPHA_TEST),
 		  mCullFace(GL_CULL_FACE)
 	{ }
@@ -130,28 +129,6 @@ class LLGLSNoAlphaTest // : public LLGLSUIDefault
 
 //----------------------------------------------------------------------------
 
-class LLGLSFog
-{
-protected:
-	LLGLEnable mFog;
-public:
-	LLGLSFog()
-		: mFog(GL_FOG)
-	{}
-};
-
-class LLGLSNoFog
-{
-protected:
-	LLGLDisable mFog;
-public:
-	LLGLSNoFog()
-		: mFog(GL_FOG)
-	{}
-};
-
-//----------------------------------------------------------------------------
-
 class LLGLSPipeline
 { 
 protected:
@@ -175,16 +152,6 @@ class LLGLSPipelineAlpha // : public LLGLSPipeline
 	{ }
 };
 
-class LLGLSPipelineEmbossBump
-{
-protected:
-	LLGLDisable mFog;
-public:
-	LLGLSPipelineEmbossBump()
-		: mFog(GL_FOG)
-	{ }
-};
-
 class LLGLSPipelineSelection
 { 
 protected:
diff --git a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl
index 226e63cdda7..50d697ae127 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/fxaaF.glsl
@@ -28,11 +28,7 @@
 
 /*[EXTRA_CODE_HERE]*/
 
-#ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
-#else
-#define frag_color gl_FragColor
-#endif
 
 #define FXAA_PC 1
 //#define FXAA_GLSL_130 1
@@ -2092,6 +2088,7 @@ half4 FxaaPixelShader(
 #endif
 
 uniform sampler2D diffuseMap;
+uniform sampler2D depthMap;
 
 uniform vec2 rcp_screen_res;
 uniform vec4 rcp_frame_opt;
@@ -2120,8 +2117,7 @@ void main()
 
 
 
-	//diff = texture2D(diffuseMap, vary_tc);
-	
-	frag_color = diff;
-	
+    frag_color = diff;
+    
+    gl_FragDepth = texture(depthMap, vary_fragcoord.xy).r;
 }
diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl
index 0b4680767a5..3ead2149f5f 100644
--- a/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineF.glsl
@@ -27,20 +27,18 @@
 
 /*[EXTRA_CODE_HERE]*/
 
-#ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
-#else
-#define frag_color gl_FragColor
-#endif
 
-uniform sampler2D glowMap;
-uniform sampler2D screenMap;
+uniform sampler2D emissiveRect;
+uniform sampler2D diffuseRect;
+uniform sampler2D depthMap;
 
-VARYING vec2 vary_texcoord0;
-VARYING vec2 vary_texcoord1;
+in vec2 tc;
 
 void main() 
 {
-	frag_color = texture2D(glowMap, vary_texcoord0.xy) +
-					texture2D(screenMap, vary_texcoord1.xy);
+	frag_color = texture2D(emissiveRect, tc) +
+					texture2D(diffuseRect, tc);
+
+    gl_FragDepth = texture(depthMap, tc).r;
 }
diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl
index 6a4c2ca623c..c50548d5283 100644
--- a/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineFXAAF.glsl
@@ -27,20 +27,17 @@
 
 /*[EXTRA_CODE_HERE]*/
 
-#ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
-#else
-#define frag_color gl_FragColor
-#endif
 
 uniform sampler2D diffuseRect;
 
 uniform vec2 screen_res;
-VARYING vec2 vary_tc;
+
+in vec2 vary_tc;
 
 void main() 
 {
-	vec3 col = texture2D(diffuseRect, vary_tc).rgb;
-	
-	frag_color = vec4(col.rgb, dot(col.rgb, vec3(0.299, 0.587, 0.144)));
+    vec3 col = texture(diffuseRect, vary_tc).rgb;
+   
+    frag_color = vec4(col.rgb, dot(col.rgb, vec3(0.299, 0.587, 0.144)));
 }
diff --git a/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl b/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl
index 71fa095505e..8fa08a18c36 100644
--- a/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl
+++ b/indra/newview/app_settings/shaders/class1/interface/glowcombineV.glsl
@@ -25,17 +25,13 @@
 
 uniform mat4 modelview_projection_matrix;
 
-ATTRIBUTE vec3 position;
-ATTRIBUTE vec2 texcoord0;
-ATTRIBUTE vec2 texcoord1;
+in vec3 position;
 
-VARYING vec2 vary_texcoord0;
-VARYING vec2 vary_texcoord1;
+out vec2 tc;
 
 void main()
 {
-	gl_Position = vec4(position.xyz, 1.0);
-	vary_texcoord0 = position.xy * 0.5 + 0.5;
-	vary_texcoord1 = vary_texcoord0;
+    gl_Position = vec4(position.xyz, 1.0);
+    tc = position.xy * 0.5 + 0.5;
 }
 
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index 254c74df796..f5d04129937 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -663,7 +663,6 @@ void LLDrawPoolBump::beginBump()
 void LLDrawPoolBump::renderBump(U32 pass)
 {
     LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL; //LL_RECORD_BLOCK_TIME(FTM_RENDER_BUMP);
-	LLGLDisable fog(GL_FOG);
 	LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_LEQUAL);
 	LLGLEnable blend(GL_BLEND);
 	gGL.diffuseColor4f(1,1,1,1);
diff --git a/indra/newview/lldrawpoolsky.cpp b/indra/newview/lldrawpoolsky.cpp
index a7b5ec5fc8e..c39d728c954 100644
--- a/indra/newview/lldrawpoolsky.cpp
+++ b/indra/newview/lldrawpoolsky.cpp
@@ -84,8 +84,6 @@ void LLDrawPoolSky::render(S32 pass)
 
 	LLGLSPipelineDepthTestSkyBox gls_skybox(true, false);
 
-	LLGLEnable fog_enable( (mShaderLevel < 1 && LLViewerCamera::getInstance()->cameraUnderWater()) ? GL_FOG : 0);
-	
 	gGL.pushMatrix();
 	LLVector3 origin = LLViewerCamera::getInstance()->getOrigin();
 	gGL.translatef(origin.mV[0], origin.mV[1], origin.mV[2]);
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index 345fb81ada5..811f4757054 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -616,14 +616,6 @@ void LLFace::renderOneWireframe(const LLColor4 &color, F32 fogCfx, bool wirefram
         }
         else
         {
-            LLGLEnable fog(GL_FOG);
-            glFogi(GL_FOG_MODE, GL_LINEAR);
-            float d = (LLViewerCamera::getInstance()->getPointOfInterest() - LLViewerCamera::getInstance()->getOrigin()).magVec();
-            LLColor4 fogCol = color * fogCfx;
-            glFogf(GL_FOG_START, d);
-            glFogf(GL_FOG_END, d*(1 + (LLViewerCamera::getInstance()->getView() / LLViewerCamera::getInstance()->getDefaultFOV())));
-            glFogfv(GL_FOG_COLOR, fogCol.mV);
-
             gGL.flush();
             {
                 gGL.diffuseColor4f(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], 0.4f);
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index df1a29d039d..66d14df1f4b 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -3114,8 +3114,7 @@ BOOL LLModelPreview::render()
     LLGLDisable no_blend(GL_BLEND);
     LLGLEnable cull(GL_CULL_FACE);
     LLGLDepthTest depth(GL_FALSE); // SL-12781 disable z-buffer to render background color
-    LLGLDisable fog(GL_FOG);
-
+    
     {
         gUIProgram.bind();
 
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 1f604f3cba7..02e85d7470a 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -7020,15 +7020,8 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
 		{
 			gGL.flush();
 			gGL.blendFunc(LLRender::BF_SOURCE_COLOR, LLRender::BF_ONE);
-			LLGLEnable fog(GL_FOG);
-			glFogi(GL_FOG_MODE, GL_LINEAR);
-			float d = (LLViewerCamera::getInstance()->getPointOfInterest()-LLViewerCamera::getInstance()->getOrigin()).magVec();
-			LLColor4 fogCol = color * (F32)llclamp((LLSelectMgr::getInstance()->getSelectionCenterGlobal()-gAgentCamera.getCameraPositionGlobal()).magVec()/(LLSelectMgr::getInstance()->getBBoxOfSelection().getExtentLocal().magVec()*4), 0.0, 1.0);
-			glFogf(GL_FOG_START, d);
-			glFogf(GL_FOG_END, d*(1 + (LLViewerCamera::getInstance()->getView() / LLViewerCamera::getInstance()->getDefaultFOV())));
-			glFogfv(GL_FOG_COLOR, fogCol.mV);
-
-			LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_GEQUAL);
+			
+            LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_GEQUAL);
             gGL.flush();
 			gGL.begin(LLRender::LINES);
 			{
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 28d6267029a..2a2d3907659 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -1312,23 +1312,17 @@ void render_ui(F32 zoom_factor, int subfield)
 		gGL.popMatrix();
 	}
 
+    // Render our post process prior to the HUD, UI, etc.
+    gPipeline.renderPostProcess();
+
+    // apply gamma correction and post effects
+    gPipeline.renderFinalize();
+
 	{
         LLGLState::checkStates();
 
-		// Render our post process prior to the HUD, UI, etc.
-		gPipeline.renderPostProcess();
 
-        LLGLState::checkStates();
-        // draw hud and 3D ui elements into screen render target so they'll be able to use 
-        // the depth buffer (avoids extra copy of depth buffer per frame)
-        gPipeline.screenTarget()->bindTarget();
-		// SL-15709
-		// NOTE: Tracy only allows one ZoneScoped per function.
-		// Solutions are:
-		// 1. Use a new scope
-		// 2. Use named zones
-		// 3. Use transient zones
-		LL_PROFILE_ZONE_NAMED_CATEGORY_UI("HUD"); //LL_RECORD_BLOCK_TIME(FTM_RENDER_HUD);
+        LL_PROFILE_ZONE_NAMED_CATEGORY_UI("HUD");
 		render_hud_elements();
         LLGLState::checkStates();
 		render_hud_attachments();
@@ -1357,11 +1351,6 @@ void render_ui(F32 zoom_factor, int subfield)
             }
         }
 
-        gPipeline.screenTarget()->flush();
-
-        // apply gamma correction and post effects before rendering 2D UI
-        gPipeline.renderFinalize();
-
         if (render_ui)
         {
             LL_PROFILE_ZONE_NAMED_CATEGORY_UI("UI 2D"); //LL_RECORD_BLOCK_TIME(FTM_RENDER_UI_2D);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 641df44aeb2..325d01ff1bd 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -757,6 +757,9 @@ LLPipeline::eFBOStatus LLPipeline::doAllocateScreenBuffer(U32 resX, U32 resY)
 	// - if not multisampled, shrink resolution and try again (favor X resolution over Y)
 	// Make sure to call "releaseScreenBuffers" after each failure to cleanup the partially loaded state
 
+    // refresh cached settings here to protect against inconsistent event handling order
+    refreshCachedSettings();
+
 	U32 samples = RenderFSAASamples;
 
 	eFBOStatus ret = FBO_SUCCESS_FULLRES;
@@ -1145,15 +1148,13 @@ void LLPipeline::releaseShadowBuffers()
 
 void LLPipeline::releaseScreenBuffers()
 {
-	mRT->uiScreen.release();
-	mRT->screen.release();
-	mRT->fxaaBuffer.release();
-	mRT->deferredScreen.release();
-	mRT->deferredDepth.release();
-	mRT->deferredLight.release();
+    mRT->uiScreen.release();
+    mRT->screen.release();
+    mRT->fxaaBuffer.release();
+    mRT->deferredScreen.release();
+    mRT->deferredLight.release();
 }
-		
-		
+
 void LLPipeline::releaseSunShadowTarget(U32 index)
 {
     llassert(index < 4);
@@ -7248,9 +7249,8 @@ void LLPipeline::renderPostProcess()
 
 	LLVertexBuffer::unbind();
 
-	if (LLPipeline::sRenderDeferred)
-	{
-		bool dof_enabled = !LLViewerCamera::getInstance()->cameraUnderWater() &&
+    {
+		bool dof_enabled = 
 			(RenderDepthOfFieldInEditMode || !LLToolMgr::getInstance()->inBuildMode()) &&
 			RenderDepthOfField &&
 			!gCubeSnapshot;
@@ -7667,9 +7667,9 @@ void LLPipeline::renderFinalize()
         LLVertexBuffer::unbind();
     }
 
-	if (RenderDeferred)
 	{
-		bool multisample = RenderFSAASamples > 1 && mRT->fxaaBuffer.isComplete() && !gCubeSnapshot;
+        llassert(!gCubeSnapshot);
+		bool multisample = RenderFSAASamples > 1 && mRT->fxaaBuffer.isComplete();
 		LLGLSLShader* shader = &gGlowCombineProgram;
 
 		S32 width = mRT->screen.getWidth();
@@ -7697,11 +7697,11 @@ void LLPipeline::renderFinalize()
 				mRT->deferredLight.bindTexture(0, channel);
 			}
 
-			gGL.begin(LLRender::TRIANGLE_STRIP);
-			gGL.vertex2f(-1, -1);
-			gGL.vertex2f(-1, 3);
-			gGL.vertex2f(3, -1);
-			gGL.end();
+            {
+                LLGLDepthTest depth_test(GL_FALSE, GL_FALSE, GL_ALWAYS);
+                mScreenTriangleVB->setBuffer();
+                mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+            }
 
 			gGL.flush();
 
@@ -7734,22 +7734,36 @@ void LLPipeline::renderFinalize()
 			shader->uniform4f(LLShaderMgr::FXAA_RCP_FRAME_OPT2, -2.f / width * scale_x, -2.f / height * scale_y,
 				2.f / width * scale_x, 2.f / height * scale_y);
 
-			gGL.begin(LLRender::TRIANGLE_STRIP);
-			gGL.vertex2f(-1, -1);
-			gGL.vertex2f(-1, 3);
-			gGL.vertex2f(3, -1);
-			gGL.end();
+            {
+                // at this point we should pointed at the backbuffer
+                llassert(LLRenderTarget::sCurFBO == 0);
 
-			gGL.flush();
+                LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS);
+                S32 depth_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_DEPTH);
+                gGL.getTexUnit(depth_channel)->bind(&mRT->deferredScreen, true);
+
+                mScreenTriangleVB->setBuffer();
+                mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
+            }
+			
 			shader->unbind();
 		}
 		else
 		{
+            // at this point we should pointed at the backbuffer
+            llassert(LLRenderTarget::sCurFBO == 0);
+
+            LLGLDepthTest depth_test(GL_TRUE, GL_TRUE, GL_ALWAYS);
+
 			shader->bind();
 
+            S32 glow_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_EMISSIVE);
+            S32 screen_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_DIFFUSE);
+            S32 depth_channel = shader->getTextureChannel(LLShaderMgr::DEFERRED_DEPTH);
 
-			gGL.getTexUnit(0)->bind(&mGlow[1]);
-			gGL.getTexUnit(1)->bind(screenTarget());
+			gGL.getTexUnit(glow_channel)->bind(&mGlow[1]);
+			gGL.getTexUnit(screen_channel)->bind(screenTarget());
+            gGL.getTexUnit(depth_channel)->bind(&mRT->deferredScreen, true);
 
 			gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
 			gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
@@ -7757,61 +7771,15 @@ void LLPipeline::renderFinalize()
 			gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
 			glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]);
 
-			gGL.begin(LLRender::TRIANGLE_STRIP);
-			gGL.vertex2f(-1, -1);
-			gGL.vertex2f(-1, 3);
-			gGL.vertex2f(3, -1);
-			gGL.end();
+            mScreenTriangleVB->setBuffer();
+            mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
 
 			gGL.flush();
 			shader->unbind();
 		}
 	}
     
-#if 0 // DEPRECATED
-    else // not deferred
-    {
-        U32 mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_TEXCOORD1;
-        LLPointer<LLVertexBuffer> buff = new LLVertexBuffer(mask, 0);
-        buff->allocateBuffer(3, 0);
-
-        LLStrider<LLVector3> v;
-        LLStrider<LLVector2> uv1;
-        LLStrider<LLVector2> uv2;
-
-        buff->getVertexStrider(v);
-        buff->getTexCoord0Strider(uv1);
-        buff->getTexCoord1Strider(uv2);
 
-        uv1[0] = LLVector2(0, 0);
-        uv1[1] = LLVector2(0, 2);
-        uv1[2] = LLVector2(2, 0);
-
-        uv2[0] = LLVector2(0, 0);
-        uv2[1] = LLVector2(0, tc2.mV[1] * 2.f);
-        uv2[2] = LLVector2(tc2.mV[0] * 2.f, 0);
-
-        v[0] = LLVector3(-1, -1, 0);
-        v[1] = LLVector3(-1, 3, 0);
-        v[2] = LLVector3(3, -1, 0);
-
-        buff->flush();
-
-        LLGLDisable blend(GL_BLEND);
-
-        gGlowCombineProgram.bind();
-
-        gGL.getTexUnit(0)->bind(&mGlow[1]);
-        gGL.getTexUnit(1)->bind(&mRT->screen);
-
-        LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
-
-        buff->setBuffer();
-        buff->drawArrays(LLRender::TRIANGLE_STRIP, 0, 3);
-
-        gGlowCombineProgram.unbind();
-    }
-#endif
     gGL.setSceneBlendType(LLRender::BT_ALPHA);
 
     if (hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
@@ -7890,7 +7858,6 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_
 {
     LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
     LLRenderTarget* deferred_target       = &mRT->deferredScreen;
-    //LLRenderTarget* deferred_depth_target = &mRT->deferredDepth;
     LLRenderTarget* deferred_light_target = &mRT->deferredLight;
 
 	shader.bind();
@@ -8772,7 +8739,6 @@ void LLPipeline::setupSpotLight(LLGLSLShader& shader, LLDrawable* drawablep)
 void LLPipeline::unbindDeferredShader(LLGLSLShader &shader)
 {
     LLRenderTarget* deferred_target       = &mRT->deferredScreen;
-    //LLRenderTarget* deferred_depth_target = &mRT->deferredDepth;
     LLRenderTarget* deferred_light_target = &mRT->deferredLight;
 
 	stop_glerror();
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 0c11c7ef892..5b80ae5696a 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -665,7 +665,6 @@ class LLPipeline
         LLRenderTarget			deferredScreen;
         LLRenderTarget			fxaaBuffer;
         LLRenderTarget			edgeMap;
-        LLRenderTarget			deferredDepth;
         LLRenderTarget			deferredLight;
 
         //sun shadow map
-- 
GitLab