diff options
author | Leslie Linden <leslie@lindenlab.com> | 2011-07-19 13:31:32 -0700 |
---|---|---|
committer | Leslie Linden <leslie@lindenlab.com> | 2011-07-19 13:31:32 -0700 |
commit | 76249c58f64beec0d426ab37397159feeafca2d6 (patch) | |
tree | 85faa68d0eeb15e16dd5c6ca4c75b3278c1882d7 /indra/newview/llface.cpp | |
parent | 2eaadf902406fbdf6feb5e3e39a9f07f3369fc17 (diff) |
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 davep
Diffstat (limited to 'indra/newview/llface.cpp')
-rw-r--r-- | indra/newview/llface.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 59c6e904a1..17b6912b63 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); |