SH-2690 Fix for spammy triangle death on GeForce 7800 Go when selecting flexi attachments.
parent
38853ffdda
commit
986dccbeaf
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -5713,6 +5713,14 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;
|
||||
|
||||
if (shader)
|
||||
{
|
||||
gSolidColorProgram.bind();
|
||||
}
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.pushMatrix();
|
||||
gGL.pushUIMatrix();
|
||||
|
|
@ -5835,6 +5843,11 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
|
|||
}
|
||||
gGL.popMatrix();
|
||||
gGL.popUIMatrix();
|
||||
|
||||
if (shader)
|
||||
{
|
||||
shader->bind();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
|||
Loading…
Reference in New Issue