Frames were occasionally failing to flush, resulting in odd stutters. Forcing flushes.

This commit is contained in:
Shyotl
2011-05-24 23:13:48 -05:00
parent 4ee4d52b2f
commit 45d84f88ab

View File

@@ -915,12 +915,29 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
{
gPipeline.mDeferredScreen.flush();
if(LLRenderTarget::sUseFBO)
{
LLRenderTarget::copyContentsToFramebuffer(gPipeline.mDeferredScreen, 0, 0, gPipeline.mDeferredScreen.getWidth(),
gPipeline.mDeferredScreen.getHeight(), 0, 0,
gPipeline.mDeferredScreen.getWidth(),
gPipeline.mDeferredScreen.getHeight(),
GL_DEPTH_BUFFER_BIT, GL_NEAREST);
}
}
else if(!tiling)
{
gPipeline.mScreen.flush();
if(LLRenderTarget::sUseFBO)
{
LLRenderTarget::copyContentsToFramebuffer(gPipeline.mScreen, 0, 0, gPipeline.mScreen.getWidth(),
gPipeline.mScreen.getHeight(), 0, 0,
gPipeline.mScreen.getWidth(),
gPipeline.mScreen.getHeight(),
GL_DEPTH_BUFFER_BIT, GL_NEAREST);
}
}
}
gGL.flush();
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
{