diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llviewerdisplay.cpp | 27 |
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 | ||