summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerdisplay.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-10-26 14:31:20 -0500
committerDave Parks <davep@lindenlab.com>2010-10-26 14:31:20 -0500
commit53beeec0a34fd926f1b9a5aea04cec9ed94e31d9 (patch)
tree8da6d6bcae2f291e42768b6336a39a8ef1bf729e /indra/newview/llviewerdisplay.cpp
parent7863674626bcf16ad26f3bb8e77a6ca41998c36b (diff)
Potential fix for crash in renderBloom.
Reviewed by Seraph.
Diffstat (limited to 'indra/newview/llviewerdisplay.cpp')
-rw-r--r--indra/newview/llviewerdisplay.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index eee94f29da..81acca4fc3 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -218,6 +218,16 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
LLMemType mt_render(LLMemType::MTYPE_RENDER);
LLFastTimer t(FTM_RENDER);
+ if (gResizeScreenTexture)
+ { //skip render on frames where screen texture is resizing
+ gGL.flush();
+ glClear(GL_COLOR_BUFFER_BIT);
+ gViewerWindow->mWindow->swapBuffers();
+ gResizeScreenTexture = FALSE;
+ gPipeline.resizeScreenTexture();
+ return;
+ }
+
if (LLPipeline::sRenderFrameTest)
{
send_agent_pause();
@@ -531,6 +541,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
gViewerWindow->setup3DViewport();
gPipeline.resetFrameStats(); // Reset per-frame statistics.
+
if (!gDisconnected)
{
LLMemType mt_du(LLMemType::MTYPE_DISPLAY_UPDATE);
@@ -641,11 +652,11 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
LLVertexBuffer::clientCopy(0.016);
}
- if (gResizeScreenTexture)
- {
- gResizeScreenTexture = FALSE;
- gPipeline.resizeScreenTexture();
- }
+ //if (gResizeScreenTexture)
+ //{
+ // gResizeScreenTexture = FALSE;
+ // gPipeline.resizeScreenTexture();
+ //}
gGL.setColorMask(true, true);
glClearColor(0,0,0,0);