diff options
Diffstat (limited to 'indra/newview/pipeline.cpp')
| -rw-r--r-- | indra/newview/pipeline.cpp | 22 | 
1 files changed, 18 insertions, 4 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 9ad1df02b8..64922ee991 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -565,6 +565,7 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)  	if (LLPipeline::sRenderDeferred)  	{ +		samples = llmin(samples, (U32) 8); //cap multisample buffers to 8 samples when rendering deferred  		//allocate deferred rendering color buffers  		mDeferredScreen.allocate(resX, resY, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, FALSE);  		mDeferredDepth.allocate(resX, resY, 0, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE); @@ -3452,11 +3453,24 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)  	LLVertexBuffer::unbind(); -	if (!LLPipeline::sReflectionRender && !LLPipeline::sRenderDeferred && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI)) +	if (!LLPipeline::sReflectionRender && !LLPipeline::sRenderDeferred)  	{ -		// Render debugging beacons. -		gObjectList.renderObjectBeacons(); -		gObjectList.resetObjectBeacons(); +		if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI)) +		{ +		      // Render debugging beacons. +		      gObjectList.renderObjectBeacons(); +		      gObjectList.resetObjectBeacons(); +		} +		else +		{ +			// Make sure particle effects disappear +			LLHUDObject::renderAllForTimer(); +		} +	} +	else +	{ +		// Make sure particle effects disappear +		LLHUDObject::renderAllForTimer();  	}  	LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomEnd");  | 
