diff options
author | Dave Parks <davep@lindenlab.com> | 2023-01-10 17:36:05 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2023-01-10 17:36:05 -0600 |
commit | fdc0ea64f050ad09a84442f40396bb9e6497ce52 (patch) | |
tree | 306e79ea83514488f28402ee8a65f2dc603b4f4f /indra/newview/llviewerdisplay.cpp | |
parent | 4abf39c968c31a9da943a53434388102b99d487f (diff) |
SL-18869 Optimizations -- LLVertexBuffer overhaul and shuffle of shadow map rendering to a place where the main camera has taken a stab at object updates for this frame before shadow map rendering has at them.
Diffstat (limited to 'indra/newview/llviewerdisplay.cpp')
-rw-r--r-- | indra/newview/llviewerdisplay.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 01fca47184..c6d2b476db 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -710,12 +710,6 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) if (!for_snapshot) { - if (gFrameCount > 1) - { //for some reason, ATI 4800 series will error out if you - //try to generate a shadow before the first frame is through - gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); - } - LLVertexBuffer::unbind(); LLGLState::checkStates(); @@ -936,8 +930,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) else { gPipeline.renderGeom(*LLViewerCamera::getInstance(), TRUE); - } - + } gGL.setColorMask(true, true); //store this frame's modelview matrix for use @@ -967,6 +960,14 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) LLRenderTarget &rt = (gPipeline.sRenderDeferred ? gPipeline.mRT->deferredScreen : gPipeline.mRT->screen); rt.flush(); + + if (gFrameCount > 1 && !for_snapshot) + { //for some reason, ATI 4800 series will error out if you + //try to generate a shadow before the first frame is through + gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); + } + + if (LLPipeline::sRenderDeferred) { gPipeline.renderDeferredLighting(); |