Compute layer bounds over subset of VertexBuffer verts

bug:15538815
Change-Id: I0dbb54f656a6ae99a87c5734761107e1c2351b65
diff --git a/libs/hwui/VertexBuffer.h b/libs/hwui/VertexBuffer.h
index 5875f25..3837f88 100644
--- a/libs/hwui/VertexBuffer.h
+++ b/libs/hwui/VertexBuffer.h
@@ -62,7 +62,6 @@
         mVertexCount = vertexCount;
         mByteCount = mVertexCount * sizeof(TYPE);
         mReallocBuffer = mBuffer = (void*)new TYPE[vertexCount];
-        memset(mBuffer, 0, sizeof(TYPE) * vertexCount);
 
         mCleanupMethod = &(cleanup<TYPE>);
 
@@ -86,13 +85,17 @@
      * vertex buffer can't determine bounds more simply/efficiently
      */
     template <class TYPE>
-    void computeBounds() {
+    void computeBounds(int vertexCount = 0) {
         if (!mVertexCount) {
             mBounds.setEmpty();
             return;
         }
+
+        // default: compute over every vertex
+        if (vertexCount == 0) vertexCount = mVertexCount;
+
         TYPE* current = (TYPE*)mBuffer;
-        TYPE* end = current + mVertexCount;
+        TYPE* end = current + vertexCount;
         mBounds.set(current->x, current->y, current->x, current->y);
         for (; current < end; current++) {
             mBounds.expandToCoverVertex(current->x, current->y);