From d64ccab573e9455815dede58f8027a8f2337a728 Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Fri, 9 Apr 2010 23:48:50 -0600
Subject: [PATCH] the first round of the debug code for EXT-6792: Crash on ATI
 3200

---
 indra/newview/llappviewer.cpp |  2 ++
 indra/newview/pipeline.cpp    | 10 +++++++++-
 indra/newview/pipeline.h      |  3 +++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 3e7ef26bcdb..f19a33301ad 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2577,6 +2577,8 @@ void LLAppViewer::handleViewerCrash()
 {
 	llinfos << "Handle viewer crash entry." << llendl;
 
+	llinfos << "Last render pool type: " << LLPipeline::sCurRenderPoolType << llendl ;
+
 	//print out recorded call stacks if there are any.
 	LLError::LLCallStacks::print();
 
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 259ca21e937..e82fccde27b 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -2957,8 +2957,12 @@ void LLPipeline::renderHighlights()
 	}
 }
 
+//debug use
+U32 LLPipeline::sCurRenderPoolType = 0 ;
+
 void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
 {
+	llpushcallstacks ;
 	LLMemType mt(LLMemType::MTYPE_PIPELINE_RENDER_GEOM);
 	LLFastTimer t(FTM_RENDER_GEOMETRY);
 
@@ -3066,6 +3070,9 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
 			
 			cur_type = poolp->getType();
 
+			//debug use
+			sCurRenderPoolType = cur_type ;
+
 			if (occlude && cur_type >= LLDrawPool::POOL_GRASS)
 			{
 				occlude = FALSE;
@@ -7098,6 +7105,7 @@ inline float sgn(float a)
 
 void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 {
+	llpushcallstacks ;
 	if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate)
 	{
 		LLVOAvatarSelf* avatar = gAgent.getAvatarObject();
@@ -7833,7 +7841,7 @@ void LLPipeline::renderHighlight(const LLViewerObject* obj, F32 fade)
 void LLPipeline::generateHighlight(LLCamera& camera)
 {
 	//render highlighted object as white into offscreen render target
-	
+	llpushcallstacks ;
 	if (mHighlightObject.notNull())
 	{
 		mHighlightSet.insert(HighlightItem(mHighlightObject));
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 6aecc23aac7..60e0b0ae8c0 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -686,6 +686,9 @@ class LLPipeline
 public:
 	static BOOL				sRenderBeacons;
 	static BOOL				sRenderHighlight;
+
+	//debug use
+	static U32              sCurRenderPoolType ;
 };
 
 void render_bbox(const LLVector3 &min, const LLVector3 &max);
-- 
GitLab