summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerdisplay.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2023-01-10 17:36:05 -0600
committerDave Parks <davep@lindenlab.com>2023-01-10 17:36:05 -0600
commitfdc0ea64f050ad09a84442f40396bb9e6497ce52 (patch)
tree306e79ea83514488f28402ee8a65f2dc603b4f4f /indra/newview/llviewerdisplay.cpp
parent4abf39c968c31a9da943a53434388102b99d487f (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.cpp17
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();