From 659eaf045ef7ada77192baa0a353ad2af2e2b029 Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Mon, 4 Mar 2019 15:40:07 -0800
Subject: [PATCH] Fix line-endings.

---
 indra/newview/lldrawpoolalpha.cpp | 12 ++++----
 indra/newview/lldrawpoolwlsky.cpp |  2 +-
 indra/newview/llviewerdisplay.cpp |  6 +---
 indra/newview/pipeline.cpp        | 50 +++++++++++++++++++++++--------
 4 files changed, 45 insertions(+), 25 deletions(-)

diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index c6605a7b2e3..ea8a1c62a14 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -431,7 +431,7 @@ void LLDrawPoolAlpha::renderSimples(U32 mask, std::vector<LLDrawInfo*>& simples)
     {
         bool tex_setup = TexSetup(draw);
 
-        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
+        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
 		gGL.blendFunc((LLRender::eBlendFactor) draw->mBlendFuncSrc, (LLRender::eBlendFactor) draw->mBlendFuncDst, mAlphaSFactor, mAlphaDFactor);
 
 	    Draw(draw, mask);
@@ -449,7 +449,7 @@ void LLDrawPoolAlpha::renderFullbrights(U32 mask, std::vector<LLDrawInfo*>& full
     {
         bool tex_setup = TexSetup(draw);
 
-        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
+        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
 		gGL.blendFunc((LLRender::eBlendFactor) draw->mBlendFuncSrc, (LLRender::eBlendFactor) draw->mBlendFuncDst, mAlphaSFactor, mAlphaDFactor);
 
         Draw(draw, mask & ~(LLVertexBuffer::MAP_TANGENT | LLVertexBuffer::MAP_TEXCOORD1 | LLVertexBuffer::MAP_TEXCOORD2));
@@ -507,7 +507,7 @@ void LLDrawPoolAlpha::renderMaterials(U32 mask, std::vector<LLDrawInfo*>& materi
 			}
         }
 
-        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
+        LLGLEnableFunc stencil_test(GL_STENCIL_TEST, draw->mSelected, &LLGLCommonFunc::selected_stencil_test);
 		gGL.blendFunc((LLRender::eBlendFactor) draw->mBlendFuncSrc, (LLRender::eBlendFactor) draw->mBlendFuncDst, mAlphaSFactor, mAlphaDFactor);
 
         Draw(draw, mask);
@@ -572,11 +572,11 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, S32 pass)
 			for (LLSpatialGroup::drawmap_elem_t::iterator k = draw_info.begin(); k != draw_info.end(); ++k)	
 			{
 				LLDrawInfo& params = **k;
-
-				if ((params.mVertexBuffer->getTypeMask() & mask) != mask)
+                U32 have_mask = params.mVertexBuffer->getTypeMask() & mask;
+				if (have_mask != mask)
 				{ //FIXME!
 					LL_WARNS_ONCE() << "Missing required components, expected mask: " << mask
-									<< " present: " << (params.mVertexBuffer->getTypeMask() & mask)
+									<< " present: " << have_mask
 									<< ". Skipping render batch." << LL_ENDL;
 					continue;
 				}
diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp
index 07d72e3d9b5..8a739d91f8d 100644
--- a/indra/newview/lldrawpoolwlsky.cpp
+++ b/indra/newview/lldrawpoolwlsky.cpp
@@ -128,7 +128,7 @@ S32 LLDrawPoolWLSky::getNumShadowPasses() { return 0; }
 
 void LLDrawPoolWLSky::beginShadowPass(S32 pass)
 {
-    cloud_shadow_shader = LLPipeline::sRenderDeferred ? &gDeferredWLCloudShadowProgram : &gWLCloudShadowProgram;
+    //cloud_shadow_shader = LLPipeline::sRenderDeferred ? &gDeferredWLCloudShadowProgram : &gWLCloudShadowProgram;
 }
 
 void LLDrawPoolWLSky::endShadowPass(S32 pass)
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 5fdc9d8e411..d47870f59c7 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -717,11 +717,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
 
 			if (!for_snapshot)
 			{
-				if (gFrameCount > 1)
-				{ //for some reason, ATI 4800 series will error out if you 
-				  //try to generate a shadow before the first frame is through
-					gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
-				}
+                gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
 
 				LLVertexBuffer::unbind();
 
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index fe14d254b46..99235509c91 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -9616,6 +9616,12 @@ glh::matrix4f scale_translate_to_fit(const LLVector3 min, const LLVector3 max)
 static LLTrace::BlockTimerStatHandle FTM_SHADOW_RENDER("Render Shadows");
 static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA("Alpha Shadow");
 static LLTrace::BlockTimerStatHandle FTM_SHADOW_SIMPLE("Simple Shadow");
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_GEOM("Shadow Geom");
+
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_MASKED("Alpha Masked");
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_BLEND("Alpha Blend");
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_TREE("Alpha Tree");
+static LLTrace::BlockTimerStatHandle FTM_SHADOW_ALPHA_GRASS("Alpha Grass");
 
 void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera& shadow_cam, LLCullResult &result, bool use_shader, bool use_occlusion, U32 target_width)
 {
@@ -9720,6 +9726,8 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
     
     if (use_shader)
     {
+        LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
+
         gDeferredShadowProgram.unbind();
         renderGeomShadow(shadow_cam);
         gDeferredShadowProgram.bind();
@@ -9727,11 +9735,14 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
     }
     else
     {
+        LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
+
         renderGeomShadow(shadow_cam);
     }
 
     {
         LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA);
+
         gDeferredShadowAlphaMaskProgram.bind();
         gDeferredShadowAlphaMaskProgram.uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width);
         gDeferredShadowAlphaMaskProgram.uniform1i(LLShaderMgr::SUN_UP_FACTOR, environment.getIsSunUp() ? 1 : 0);
@@ -9741,22 +9752,35 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
                     LLVertexBuffer::MAP_COLOR | 
                     LLVertexBuffer::MAP_TEXTURE_INDEX;
 
-        renderMaskedObjects(LLRenderPass::PASS_ALPHA_MASK, mask, TRUE, TRUE);
-        renderMaskedObjects(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, mask, TRUE, TRUE);
-        gDeferredShadowAlphaMaskProgram.setMinimumAlpha(0.598f);
-        renderObjects(LLRenderPass::PASS_ALPHA, mask, TRUE, TRUE);
+        {
+            LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MASKED);
+            renderMaskedObjects(LLRenderPass::PASS_ALPHA_MASK, mask, TRUE, TRUE);
+            renderMaskedObjects(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, mask, TRUE, TRUE);
+        }
+
+        {
+            LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_BLEND);
+            gDeferredShadowAlphaMaskProgram.setMinimumAlpha(0.598f);
+            renderObjects(LLRenderPass::PASS_ALPHA, mask, TRUE, TRUE);
+        }
 
         mask = mask & ~LLVertexBuffer::MAP_TEXTURE_INDEX;
 
-        gDeferredTreeShadowProgram.bind();
-        gDeferredTreeShadowProgram.uniform1i(LLShaderMgr::SUN_UP_FACTOR, environment.getIsSunUp() ? 1 : 0);
-        renderMaskedObjects(LLRenderPass::PASS_NORMSPEC_MASK, mask);
-        renderMaskedObjects(LLRenderPass::PASS_MATERIAL_ALPHA_MASK, mask);
-        renderMaskedObjects(LLRenderPass::PASS_SPECMAP_MASK, mask);
-        renderMaskedObjects(LLRenderPass::PASS_NORMMAP_MASK, mask);
-        
-        gDeferredTreeShadowProgram.setMinimumAlpha(0.598f);
-        renderObjects(LLRenderPass::PASS_GRASS, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, TRUE);
+        {
+            LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_TREE);
+            gDeferredTreeShadowProgram.bind();
+            gDeferredTreeShadowProgram.uniform1i(LLShaderMgr::SUN_UP_FACTOR, environment.getIsSunUp() ? 1 : 0);
+            renderMaskedObjects(LLRenderPass::PASS_NORMSPEC_MASK, mask);
+            renderMaskedObjects(LLRenderPass::PASS_MATERIAL_ALPHA_MASK, mask);
+            renderMaskedObjects(LLRenderPass::PASS_SPECMAP_MASK, mask);
+            renderMaskedObjects(LLRenderPass::PASS_NORMMAP_MASK, mask);
+        }
+
+        {
+            LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_GRASS);
+            gDeferredTreeShadowProgram.setMinimumAlpha(0.598f);
+            renderObjects(LLRenderPass::PASS_GRASS, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, TRUE);
+        }
     }
 
     //glCullFace(GL_BACK);
-- 
GitLab