diff options
author | Dave Parks <davep@lindenlab.com> | 2011-10-06 15:00:14 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2011-10-06 15:00:14 -0500 |
commit | 40fe25632c62ab6a8bbb817149c159295b365d59 (patch) | |
tree | 90d5930ba7abb4c6893074082624667eeb7d82da /indra | |
parent | e76eaa8b2a1f49e45d009379aaf36f8e62b6273a (diff) |
SH-2553 Fix for glitches when rendering HUD attachments.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llrender/llrender.cpp | 3 | ||||
-rw-r--r-- | indra/llrender/llrendersphere.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewerdisplay.cpp | 7 |
3 files changed, 10 insertions, 1 deletions
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index bbdd0a7a60..942ad87566 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -1347,6 +1347,7 @@ void LLRender::popMatrix() void LLRender::loadMatrix(const GLfloat* m) { + flush(); mMatrix[mMatrixMode][mMatIdx[mMatrixMode]].set_value((GLfloat*) m); mMatHash[mMatrixMode]++; } @@ -1396,6 +1397,8 @@ void LLRender::multMatrix(const GLdouble* dm) void LLRender::loadIdentity() { + flush(); + mMatrix[mMatrixMode][mMatIdx[mMatrixMode]].make_identity(); mMatHash[mMatrixMode]++; } diff --git a/indra/llrender/llrendersphere.cpp b/indra/llrender/llrendersphere.cpp index e7e07a1ab2..26bfe036e8 100644 --- a/indra/llrender/llrendersphere.cpp +++ b/indra/llrender/llrendersphere.cpp @@ -40,6 +40,7 @@ LLRenderSphere gSphere; void LLRenderSphere::render() { renderGGL(); + gGL.flush(); } inline LLVector3 polar_to_cart(F32 latitude, F32 longitude) diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 835f16d086..7220f2a20f 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -1359,7 +1359,12 @@ void render_ui_3d() } stop_glerror(); - + + if (LLGLSLShader::sNoFixedFunction) + { + gUIProgram.bind(); + } + gViewerWindow->renderSelections(FALSE, FALSE, TRUE); // Non HUD call in render_hud_elements stop_glerror(); } |