diff options
author | Dave Parks <davep@lindenlab.com> | 2010-10-26 14:31:20 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-10-26 14:31:20 -0500 |
commit | 60758b214ec1db7f1fe30607dd99d53d8b21b356 (patch) | |
tree | 46dbbdb6adc09f2bdaedf66007858d540602a241 /indra/newview | |
parent | af57ff75dea16ed857c27ebfa288b9881668e9ac (diff) |
Potential fix for crash in renderBloom.
Reviewed by Seraph.
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llviewerdisplay.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 26b528f7c0..061c8d4131 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); |