Remove GrMesh::setVertexData

Fuses the relevant functionality into the set() calls.

Change-Id: I3a764219425c35967942366c60a6b9ee6ec48e11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276836
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index 0048d84..76724ff 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -837,8 +837,8 @@
             for (int j = 0; j < draws.count(); ++j) {
                 const Draw& draw = draws[j];
                 meshes[j].setIndexed(indexBuffer, draw.fIndexCnt, firstIndex, 0,
-                                     draw.fVertexCnt - 1, GrPrimitiveRestart::kNo);
-                meshes[j].setVertexData(vertexBuffer, firstVertex);
+                                     draw.fVertexCnt - 1, GrPrimitiveRestart::kNo, vertexBuffer,
+                                     firstVertex);
                 firstIndex += draw.fIndexCnt;
                 firstVertex += draw.fVertexCnt;
             }
diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
index 020dbba..7e98529 100644
--- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
@@ -1106,9 +1106,9 @@
                                                            geometryProcessorLocalM);
 
             GrMesh* mesh = target->allocMesh();
-            mesh->setIndexedPatterned(quadsIndexBuffer, kIdxsPerQuad, kQuadNumVertices, quadCount,
-                                      kQuadsNumInIdxBuffer);
-            mesh->setVertexData(vertexBuffer, firstVertex);
+            mesh->setIndexedPatterned(quadsIndexBuffer, kIdxsPerQuad, quadCount,
+                                      kQuadsNumInIdxBuffer, vertexBuffer, kQuadNumVertices,
+                                      firstVertex);
             target->recordDraw(quadGP, mesh, 1, GrPrimitiveType::kTriangles);
             firstVertex += quadCount * kQuadNumVertices;
         }
@@ -1119,9 +1119,9 @@
                                                              geometryProcessorLocalM);
 
             GrMesh* mesh = target->allocMesh();
-            mesh->setIndexedPatterned(std::move(quadsIndexBuffer), kIdxsPerQuad, kQuadNumVertices,
-                                      conicCount, kQuadsNumInIdxBuffer);
-            mesh->setVertexData(std::move(vertexBuffer), firstVertex);
+            mesh->setIndexedPatterned(std::move(quadsIndexBuffer), kIdxsPerQuad, conicCount,
+                                      kQuadsNumInIdxBuffer, std::move(vertexBuffer),
+                                      kQuadNumVertices, firstVertex);
             target->recordDraw(conicGP, mesh, 1, GrPrimitiveType::kTriangles);
         }
     }
diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
index 40332ba..2581fc7b 100644
--- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
@@ -251,8 +251,7 @@
         memcpy(idxs, indices, indexCount * sizeof(uint16_t));
         GrMesh* mesh = target->allocMesh();
         mesh->setIndexed(std::move(indexBuffer), indexCount, firstIndex, 0, vertexCount - 1,
-                         GrPrimitiveRestart::kNo);
-        mesh->setVertexData(std::move(vertexBuffer), firstVertex);
+                         GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
         fMeshes.push_back(mesh);
     }
 
diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp
index 594d68c..b40bd0d 100644
--- a/src/gpu/ops/GrAtlasTextOp.cpp
+++ b/src/gpu/ops/GrAtlasTextOp.cpp
@@ -512,9 +512,9 @@
     }
     int maxGlyphsPerDraw = static_cast<int>(flushInfo->fIndexBuffer->size() / sizeof(uint16_t) / 6);
     GrMesh* mesh = target->allocMesh();
-    mesh->setIndexedPatterned(flushInfo->fIndexBuffer, kIndicesPerGlyph, kVerticesPerGlyph,
-                              flushInfo->fGlyphsToFlush, maxGlyphsPerDraw);
-    mesh->setVertexData(flushInfo->fVertexBuffer, flushInfo->fVertexOffset);
+    mesh->setIndexedPatterned(flushInfo->fIndexBuffer, kIndicesPerGlyph, flushInfo->fGlyphsToFlush,
+                              maxGlyphsPerDraw, flushInfo->fVertexBuffer, kVerticesPerGlyph,
+                              flushInfo->fVertexOffset);
     target->recordDraw(flushInfo->fGeometryProcessor, mesh, 1, flushInfo->fFixedDynamicState,
                        nullptr, GrPrimitiveType::kTriangles);
     flushInfo->fVertexOffset += kVerticesPerGlyph * flushInfo->fGlyphsToFlush;
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index 65a66e4..0b676c2 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -274,12 +274,12 @@
         if (this->isIndexed() ? SkToBool(indexCount) : SkToBool(vertexCount)) {
             mesh = fTarget->allocMesh();
             if (!this->isIndexed()) {
-                mesh->setNonIndexedNonInstanced(vertexCount);
+                mesh->set(std::move(fVertexBuffer), vertexCount, fFirstVertex);
             } else {
                 mesh->setIndexed(std::move(fIndexBuffer), indexCount, fFirstIndex, 0,
-                                 vertexCount - 1, GrPrimitiveRestart::kNo);
+                                 vertexCount - 1, GrPrimitiveRestart::kNo, std::move(fVertexBuffer),
+                                 fFirstVertex);
             }
-            mesh->setVertexData(std::move(fVertexBuffer), fFirstVertex);
         }
 
         fTarget->putBackIndices((size_t)(fIndicesInChunk - indexCount));
diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp
index c200367..6adae7b 100644
--- a/src/gpu/ops/GrDrawVerticesOp.cpp
+++ b/src/gpu/ops/GrDrawVerticesOp.cpp
@@ -342,11 +342,10 @@
     fMesh = target->allocMesh();
     if (this->isIndexed()) {
         fMesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertexCount - 1,
-                         GrPrimitiveRestart::kNo);
+                         GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
     } else {
-        fMesh->setNonIndexedNonInstanced(fVertexCount);
+        fMesh->set(std::move(vertexBuffer), fVertexCount, firstVertex);
     }
-    fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
 }
 
 void DrawVerticesOp::onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) {
diff --git a/src/gpu/ops/GrMeshDrawOp.cpp b/src/gpu/ops/GrMeshDrawOp.cpp
index 0cdc857..c66166f 100644
--- a/src/gpu/ops/GrMeshDrawOp.cpp
+++ b/src/gpu/ops/GrMeshDrawOp.cpp
@@ -73,9 +73,9 @@
 
     SkASSERT(maxRepetitions ==
              static_cast<int>(indexBuffer->size() / (sizeof(uint16_t) * indicesPerRepetition)));
-    fMesh->setIndexedPatterned(std::move(indexBuffer), indicesPerRepetition, verticesPerRepetition,
-                               repeatCount, maxRepetitions);
-    fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+    fMesh->setIndexedPatterned(std::move(indexBuffer), indicesPerRepetition, repeatCount,
+                               maxRepetitions, std::move(vertexBuffer), verticesPerRepetition,
+                               firstVertex);
 }
 
 void GrMeshDrawOp::PatternHelper::recordDraw(Target* target, const GrGeometryProcessor* gp) const {
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index 7405dda..1fb885b 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -1420,8 +1420,7 @@
 
         fMesh = target->allocMesh();
         fMesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
-                         GrPrimitiveRestart::kNo);
-        fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+                         GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
@@ -1743,8 +1742,7 @@
 
         fMesh = target->allocMesh();
         fMesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
-                          GrPrimitiveRestart::kNo);
-        fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+                          GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
@@ -2755,8 +2753,7 @@
 
         fMesh = target->allocMesh();
         fMesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
-                          GrPrimitiveRestart::kNo);
-        fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+                          GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
diff --git a/src/gpu/ops/GrQuadPerEdgeAA.cpp b/src/gpu/ops/GrQuadPerEdgeAA.cpp
index ee2a694..42162f8 100644
--- a/src/gpu/ops/GrQuadPerEdgeAA.cpp
+++ b/src/gpu/ops/GrQuadPerEdgeAA.cpp
@@ -400,11 +400,9 @@
 
     if (spec.indexBufferOption() == IndexBufferOption::kTriStrips) {
         SkASSERT(!indexBuffer);
-
-        mesh->setNonIndexedNonInstanced(4);
         int offset = absVertBufferOffset +
                                     runningQuadCount * GrResourceProvider::NumVertsPerNonAAQuad();
-        mesh->setVertexData(std::move(vertexBuffer), offset);
+        mesh->set(std::move(vertexBuffer), 4, offset);
         return;
     }
 
@@ -434,9 +432,8 @@
         // preferred.
         int offset = absVertBufferOffset + runningQuadCount * numVertsPerQuad;
 
-        mesh->setIndexedPatterned(std::move(indexBuffer), numIndicesPerQuad,
-                                  numVertsPerQuad, quadsInDraw, maxNumQuads);
-        mesh->setVertexData(std::move(vertexBuffer), offset);
+        mesh->setIndexedPatterned(std::move(indexBuffer), numIndicesPerQuad, quadsInDraw,
+                                  maxNumQuads, std::move(vertexBuffer), numVertsPerQuad, offset);
     } else {
         int baseIndex = runningQuadCount * numIndicesPerQuad;
         int numIndicesToDraw = quadsInDraw * numIndicesPerQuad;
@@ -445,8 +442,8 @@
         int maxVertex = (runningQuadCount + quadsInDraw) * numVertsPerQuad;
 
         mesh->setIndexed(std::move(indexBuffer), numIndicesToDraw,
-                         baseIndex, minVertex, maxVertex, GrPrimitiveRestart::kNo);
-        mesh->setVertexData(std::move(vertexBuffer), absVertBufferOffset);
+                         baseIndex, minVertex, maxVertex, GrPrimitiveRestart::kNo,
+                         std::move(vertexBuffer), absVertBufferOffset);
     }
 }
 
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index cdc8eda..119addd 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -616,8 +616,7 @@
 
         fMesh = target->allocMesh();
         fMesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
-                          GrPrimitiveRestart::kNo);
-        fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+                          GrPrimitiveRestart::kNo, std::move(vertexBuffer), firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp
index 2dbbf37..d3d4df6 100644
--- a/src/gpu/ops/GrSmallPathRenderer.cpp
+++ b/src/gpu/ops/GrSmallPathRenderer.cpp
@@ -820,10 +820,11 @@
             GrMesh* mesh = target->allocMesh();
             mesh->setIndexedPatterned(flushInfo->fIndexBuffer,
                                       GrResourceProvider::NumIndicesPerNonAAQuad(),
-                                      GrResourceProvider::NumVertsPerNonAAQuad(),
                                       flushInfo->fInstancesToFlush,
-                                      GrResourceProvider::MaxNumNonAAQuads());
-            mesh->setVertexData(flushInfo->fVertexBuffer, flushInfo->fVertexOffset);
+                                      GrResourceProvider::MaxNumNonAAQuads(),
+                                      flushInfo->fVertexBuffer,
+                                      GrResourceProvider::NumVertsPerNonAAQuad(),
+                                      flushInfo->fVertexOffset);
             target->recordDraw(flushInfo->fGeometryProcessor, mesh, 1,
                                flushInfo->fFixedDynamicState, nullptr, GrPrimitiveType::kTriangles);
             flushInfo->fVertexOffset += GrResourceProvider::NumVertsPerNonAAQuad() *
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 639423e..7bb9d29 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -242,8 +242,7 @@
         }
 
         fMesh = target->allocMesh();
-        fMesh->setNonIndexedNonInstanced(vertexCount);
-        fMesh->setVertexData(std::move(vertexBuffer), firstVertex);
+        fMesh->set(std::move(vertexBuffer), vertexCount, firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {
diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp
index 97cdb87..a39cb00 100644
--- a/src/gpu/ops/GrTessellatingPathRenderer.cpp
+++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp
@@ -382,8 +382,7 @@
 
     void createMesh(Target* target, sk_sp<const GrBuffer> vb, int firstVertex, int count) {
         fMesh = target->allocMesh();
-        fMesh->setNonIndexedNonInstanced(count);
-        fMesh->setVertexData(std::move(vb), firstVertex);
+        fMesh->set(std::move(vb), count, firstVertex);
     }
 
     void onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) override {