aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewerdisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llviewerdisplay.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/linden/indra/newview/llviewerdisplay.cpp b/linden/indra/newview/llviewerdisplay.cpp
index 5316337..5e1cf80 100644
--- a/linden/indra/newview/llviewerdisplay.cpp
+++ b/linden/indra/newview/llviewerdisplay.cpp
@@ -128,6 +128,11 @@ void display_startup()
128 return; 128 return;
129 } 129 }
130 130
131 gPipeline.updateGL();
132
133 // Update images?
134 gImageList.updateImages(0.01f);
135
131 LLGLSDefault gls_default; 136 LLGLSDefault gls_default;
132 137
133 // Required for HTML update in login screen 138 // Required for HTML update in login screen
@@ -599,6 +604,9 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
599 gPipeline.updateGeom(max_geom_update_time); 604 gPipeline.updateGeom(max_geom_update_time);
600 stop_glerror(); 605 stop_glerror();
601 606
607 gPipeline.updateGL();
608 stop_glerror();
609
602 gFrameStats.start(LLFrameStats::UPDATE_CULL); 610 gFrameStats.start(LLFrameStats::UPDATE_CULL);
603 S32 water_clip = 0; 611 S32 water_clip = 0;
604 if ((LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_ENVIRONMENT) > 1) && 612 if ((LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_ENVIRONMENT) > 1) &&
@@ -689,6 +697,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
689 gPipeline.generateSunShadow(*LLViewerCamera::getInstance()); 697 gPipeline.generateSunShadow(*LLViewerCamera::getInstance());
690 } 698 }
691 699
700 LLVertexBuffer::unbind(); // KL
701
692 LLGLState::checkStates(); 702 LLGLState::checkStates();
693 LLGLState::checkTextureChannels(); 703 LLGLState::checkTextureChannels();
694 LLGLState::checkClientArrays(); 704 LLGLState::checkClientArrays();
@@ -719,6 +729,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
719 { 729 {
720 LLAppViewer::instance()->pingMainloopTimeout("Display:Imagery"); 730 LLAppViewer::instance()->pingMainloopTimeout("Display:Imagery");
721 gPipeline.generateWaterReflection(*LLViewerCamera::getInstance()); 731 gPipeline.generateWaterReflection(*LLViewerCamera::getInstance());
732 gPipeline.generateHighlight(*LLViewerCamera::getInstance());
722 } 733 }
723 734
724 ////////////////////////////////////// 735 //////////////////////////////////////
@@ -743,6 +754,9 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
743 754
744 const F32 max_image_decode_time = llmin(0.005f, 0.005f*10.f*gFrameIntervalSeconds); // 50 ms/second decode time (no more than 5ms/frame) 755 const F32 max_image_decode_time = llmin(0.005f, 0.005f*10.f*gFrameIntervalSeconds); // 50 ms/second decode time (no more than 5ms/frame)
745 gImageList.updateImages(max_image_decode_time); 756 gImageList.updateImages(max_image_decode_time);
757
758 //remove dead textures from GL KL is it req?
759 LLImageGL::deleteDeadTextures();
746 stop_glerror(); 760 stop_glerror();
747 } 761 }
748 llpushcallstacks ; 762 llpushcallstacks ;
@@ -897,7 +911,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
897 /// and then display it again with compositor effects. 911 /// and then display it again with compositor effects.
898 /// Using render to texture would be faster/better, but I don't have a 912 /// Using render to texture would be faster/better, but I don't have a
899 /// grasp of their full display stack just yet. 913 /// grasp of their full display stack just yet.
900 // gPostProcess->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight()); 914 gPostProcess->apply(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight()); // KL
901 915
902 if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender) 916 if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
903 { 917 {
@@ -913,6 +927,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
913 render_ui(); 927 render_ui();
914 } 928 }
915 929
930 gPipeline.rebuildGroups();
931
916 LLSpatialGroup::sNoDelete = FALSE; 932 LLSpatialGroup::sNoDelete = FALSE;
917 } 933 }
918 934
@@ -999,6 +1015,15 @@ void render_hud_attachments()
999 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_VOLUME); 1015 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_VOLUME);
1000 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA); 1016 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_ALPHA);
1001 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT); 1017 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_FULLBRIGHT);
1018 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA);
1019 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_ALPHA_MASK);
1020 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_BUMP);
1021 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_FULLBRIGHT);
1022 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_FULLBRIGHT_ALPHA_MASK);
1023 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_FULLBRIGHT_SHINY);
1024 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_SHINY);
1025 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_INVISIBLE);
1026 gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_PASS_INVISI_SHINY);
1002 1027
1003 gPipeline.stateSort(hud_cam, result); 1028 gPipeline.stateSort(hud_cam, result);
1004 1029