summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerwindow.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-07-17 00:24:08 -0500
committerDave Parks <davep@lindenlab.com>2011-07-17 00:24:08 -0500
commit6469f1c2f21ecd3b15a18957d882ef6a16b17ecf (patch)
tree3159983e7a9c6c008d8334bceb672dfc16e2ca35 /indra/newview/llviewerwindow.cpp
parentddbd5cee7480e565e447486a21e67c301a716b1f (diff)
SH-2031 High risk changeset, but potentially high reward. Addresses frame stalls in renderer by never using the fixed function pipeline if shaders are available.
Diffstat (limited to 'indra/newview/llviewerwindow.cpp')
-rw-r--r--indra/newview/llviewerwindow.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index cff166b825..1e056898d5 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2296,6 +2296,11 @@ void LLViewerWindow::draw()
// Draw all nested UI views.
// No translation needed, this view is glued to 0,0
+ if (LLGLSLShader::sNoFixedFunction)
+ {
+ gUIProgram.bind();
+ }
+
gGL.pushMatrix();
LLUI::pushMatrix();
{
@@ -2370,6 +2375,11 @@ void LLViewerWindow::draw()
LLUI::popMatrix();
gGL.popMatrix();
+ if (LLGLSLShader::sNoFixedFunction)
+ {
+ gUIProgram.unbind();
+ }
+
//#if LL_DEBUG
LLView::sIsDrawing = FALSE;
//#endif