diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index f0b1f532a951c268f224823c089f3b316a86c4d5..fa67ee547c6daaf21d97b5a9faf1788bf77c2044 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -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 diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index a5168fd897bccae01cf8336b9aa914afc6b58dd0..debac9dcbfd9dd4ebf10bb30f3deda6c1f2e0ad5 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -1524,11 +1524,6 @@ BOOL LLDrawable::isAnimating() const return TRUE; } - if (!LLVertexBuffer::sUseStreamDraw && mVObjp->isFlexible()) - { - return TRUE; - } - return FALSE; } diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 59c6e904a13fc139e5137e5325294ea69b59333a..17b6912b63305bc8a1a5a1cd977193d01556be65 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -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); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index bd801ae4c2d218f0e5b211038c91270a2ad90cd9..3e35e0e41ae77b5529f14f6b117b06367da6848d 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -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) {