diff options
author | Dave Parks <davep@lindenlab.com> | 2011-11-16 15:08:17 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2011-11-16 15:08:17 -0600 |
commit | 986dccbeafa3fe0ddd9a05e0916a414e4abc51d6 (patch) | |
tree | ab3e82ebcb3fe0f38c1cd959430d769b454f178c /indra/llrender/llrender.cpp | |
parent | 38853ffdda5eafee6724177d080fd017265044d0 (diff) |
SH-2690 Fix for spammy triangle death on GeForce 7800 Go when selecting flexi attachments.
Diffstat (limited to 'indra/llrender/llrender.cpp')
-rw-r--r-- | indra/llrender/llrender.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 97aeae548a..010d3df9b7 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -1887,6 +1887,17 @@ void LLRender::flush() void LLRender::vertex3f(const GLfloat& x, const GLfloat& y, const GLfloat& z) { //the range of mVerticesp, mColorsp and mTexcoordsp is [0, 4095] + if (mCount > 2048) + { + switch (mMode) + { + case LLRender::POINTS: flush(); break; + case LLRender::TRIANGLES: if (mCount%3==0) flush(); break; + case LLRender::QUADS: if(mCount%4 == 0) flush(); break; + case LLRender::LINES: if (mCount%2 == 0) flush(); break; + } + } + if (mCount > 4094) { // llwarns << "GL immediate mode overflow. Some geometry not drawn." << llendl; |