diff --git a/indra/llrender/llglstates.h b/indra/llrender/llglstates.h
index 27ab1429256b3b77f60153f4b921390cc1a261d2..c46585eab4501eb9414e76fab447f9dcb458db8e 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 226e63cdda7e082a6b340b54885369b112a13965..50d697ae12766b3152fd777e40ce04a26fd5e381 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 0b4680767a5fd16641d2bf7a9aefdb72a5ca021b..3ead2149f5f32347277c2ac99c0c9b5c0cbc1b8c 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 6a4c2ca623c772be788e9869de3d652fad1f705b..c50548d528301ff2e3bbfd8b21dfee4973f49c10 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 71fa095505e430faaca9705f7244d821895b7d51..8fa08a18c36f0de4cd322e05bde2979e89f90236 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 254c74df79690398c712d027b04129827e7fc305..f5d04129937438d0e9e6b00a870166c343b83d22 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 a7b5ec5fc8e9c5d44d0dcd14db48cfe7643e3f8e..c39d728c9541fe2e42aa83c614b409e522ec72e1 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 345fb81ada5a342a4dfb9ac557789e99b1df795b..811f4757054bb3f098f9b1a306879e0509523652 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 df1a29d039d18034eeff6bfb5bfd88d708ec3649..66d14df1f4bcae075bcb707212d4e31665be2cb7 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 1f604f3cba7880e77d5e394a0a0fd3539bfacaa1..02e85d7470a7548d4046685d7a5f3ff80619c414 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 28d6267029aba08ef63bfc69ec1cea41bb4052aa..2a2d3907659f23e8438fd71ceb8f6384a9c2cf56 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 641df44aeb2222e9583163f1139efbd5e6ce8945..325d01ff1bdffe80c8c34d5d915adb06b76bafcb 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 0c11c7ef8926a98cb2667b0d004eba72720ca7fc..5b80ae5696a1bbf93256bd87f8af18c05565b1a9 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