summaryrefslogtreecommitdiff
path: root/indra/newview/llface.cpp
diff options
context:
space:
mode:
authorLeslie Linden <leslie@lindenlab.com>2011-07-19 13:31:32 -0700
committerLeslie Linden <leslie@lindenlab.com>2011-07-19 13:31:32 -0700
commit76249c58f64beec0d426ab37397159feeafca2d6 (patch)
tree85faa68d0eeb15e16dd5c6ca4c75b3278c1882d7 /indra/newview/llface.cpp
parent2eaadf902406fbdf6feb5e3e39a9f07f3369fc17 (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.cpp12
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);