Fix an egregious overallocation error in GrVertexChunkArray

Change-Id: I6ca9f094edcaf1dbf21ffe32a37d5e058ec57c0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/GrVertexChunkArray.h b/src/gpu/GrVertexChunkArray.h
index 1a1d7a1..c27e06a 100644
--- a/src/gpu/GrVertexChunkArray.h
+++ b/src/gpu/GrVertexChunkArray.h
@@ -72,10 +72,9 @@
         }
         fCurrChunkVertexCount = 0;
         GrVertexChunk* chunk = &fChunks->push_back();
-        fCurrChunkVertexWriter = {fTarget->makeVertexSpaceAtLeast(fStride,
-                                                                  fMinVerticesPerChunk * minCount,
-                                                                  fMinVerticesPerChunk * minCount,
-                                                                  &chunk->fBuffer,
+        int minAllocCount = std::max(minCount, fMinVerticesPerChunk);
+        fCurrChunkVertexWriter = {fTarget->makeVertexSpaceAtLeast(fStride, minAllocCount,
+                                                                  minAllocCount, &chunk->fBuffer,
                                                                   &chunk->fBase,
                                                                   &fCurrChunkVertexCapacity)};
         if (!fCurrChunkVertexWriter || !chunk->fBuffer || fCurrChunkVertexCapacity < minCount) {
@@ -92,7 +91,7 @@
     GrMeshDrawOp::Target* const fTarget;
     GrVertexChunkArray* const fChunks;
     const size_t fStride;
-    size_t fMinVerticesPerChunk;
+    int fMinVerticesPerChunk;
 
     GrVertexWriter fCurrChunkVertexWriter;
     int fCurrChunkVertexCount = 0;