SH-2038 FIX -- [PUBLIC] Severe performance drop on MacBook Pros
EXP-997 FIX -- Significant FPS degradation in 2.8.0 Beta on Mac equipped ATI video card * Disabled VBO's on mac to avoid stalls in renderer * Placed valid data into the padding between triangles in the vertex buffer to remove uninitialized craziness * Removed invalid rendering checks causing GL errors in debug mode Reviewed by davepmeow-7.2.2
parent
2eaadf9024
commit
76249c58f6
|
|
@ -1,4 +1,4 @@
|
|||
version 28
|
||||
version 29
|
||||
|
||||
// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
|
||||
// Should be combined into one table
|
||||
|
|
@ -47,7 +47,7 @@ RenderTerrainLODFactor 1 2.0
|
|||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
RenderUseImpostors 1 1
|
||||
RenderVBOEnable 1 1
|
||||
RenderVBOEnable 1 0
|
||||
RenderVBOMappingDisable 1 0
|
||||
RenderVolumeLODFactor 1 2.0
|
||||
UseStartScreen 1 1
|
||||
|
|
|
|||
|
|
@ -1524,11 +1524,6 @@ BOOL LLDrawable::isAnimating() const
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (!LLVertexBuffer::sUseStreamDraw && mVObjp->isFlexible())
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1621,6 +1621,8 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
|
|||
|
||||
if (rebuild_pos)
|
||||
{
|
||||
llassert(num_vertices > 0);
|
||||
|
||||
mVertexBuffer->getVertexStrider(vert, mGeomIndex, mGeomCount, map_range);
|
||||
vertices = (LLVector4a*) vert.get();
|
||||
|
||||
|
|
@ -1649,7 +1651,15 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
|
|||
index_dst += 4;
|
||||
}
|
||||
while (index_dst < index_end);
|
||||
|
||||
|
||||
S32 aligned_pad_vertices = mGeomCount - num_vertices;
|
||||
LLVector4a* last_vec = end - 1;
|
||||
while (aligned_pad_vertices > 0)
|
||||
{
|
||||
--aligned_pad_vertices;
|
||||
*dst++ = *last_vec;
|
||||
}
|
||||
|
||||
if (map_range)
|
||||
{
|
||||
mVertexBuffer->setBuffer(0);
|
||||
|
|
|
|||
|
|
@ -3686,8 +3686,6 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
|
|||
|
||||
LLVertexBuffer::unbind();
|
||||
LLGLState::checkStates();
|
||||
//LLGLState::checkTextureChannels();
|
||||
//LLGLState::checkClientArrays();
|
||||
|
||||
LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderHighlights");
|
||||
|
||||
|
|
@ -3825,8 +3823,6 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera)
|
|||
llerrs << "GL matrix stack corrupted!" << llendl;
|
||||
}
|
||||
LLGLState::checkStates();
|
||||
LLGLState::checkTextureChannels();
|
||||
LLGLState::checkClientArrays();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3919,8 +3915,6 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
|
|||
llerrs << "GL matrix stack corrupted!" << llendl;
|
||||
}
|
||||
LLGLState::checkStates();
|
||||
LLGLState::checkTextureChannels();
|
||||
LLGLState::checkClientArrays();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3995,8 +3989,6 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)
|
|||
LLVertexBuffer::unbind();
|
||||
|
||||
LLGLState::checkStates();
|
||||
LLGLState::checkTextureChannels();
|
||||
LLGLState::checkClientArrays();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -8123,8 +8115,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
|||
LLViewerCamera::getInstance()->setUserClipPlane(npnorm);
|
||||
|
||||
LLGLState::checkStates();
|
||||
//LLGLState::checkTextureChannels();
|
||||
//LLGLState::checkClientArrays();
|
||||
|
||||
if (!skip_avatar_update)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue