summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2012-02-28 16:35:50 -0600
committerDave Parks <davep@lindenlab.com>2012-02-28 16:35:50 -0600
commit302f4085a5f9fd7b5267fd573a8e15f890cfe573 (patch)
treec51700f1866c345ba144745790cbca5fcb193912
parent353907bac61e6db0aca16e7e43f13f627b414dca (diff)
SH-2908 Reset graphics drivers to "low" if viewer crashes when allocating deferred rendering targets.
-rw-r--r--indra/newview/pipeline.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index d5bcfe12ab..e2cb22e307 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -811,6 +811,10 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
if (LLPipeline::sRenderDeferred)
{
+ // Set this flag in case we crash while resizing window or allocating space for deferred rendering targets
+ gSavedSettings.setBOOL("RenderInitError", TRUE);
+ gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE );
+
S32 shadow_detail = RenderShadowDetail;
BOOL ssao = RenderDeferredSSAO;
@@ -872,6 +876,10 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
mShadow[i].release();
}
}
+
+ // don't disable shaders on next session
+ gSavedSettings.setBOOL("RenderInitError", FALSE);
+ gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE );
}
else
{