Remove GrPrimitiveType from GrMesh
Change-Id: I9b5bdaa08f3a383ce24d33aca5448352d954d9c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270001
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index 54f0ecc..d68ce5f 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -809,7 +809,6 @@
GrMesh* meshes = target->allocMeshes(draws.count());
for (int j = 0; j < draws.count(); ++j) {
const Draw& draw = draws[j];
- meshes[j].setPrimitiveType(GrPrimitiveType::kTriangles);
meshes[j].setIndexed(indexBuffer, draw.fIndexCnt, firstIndex, 0,
draw.fVertexCnt - 1, GrPrimitiveRestart::kNo);
meshes[j].setVertexData(vertexBuffer, firstVertex);
diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
index 9b4fad7..109309e 100644
--- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
@@ -1084,7 +1084,7 @@
geometryProcessorViewM,
geometryProcessorLocalM);
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexedPatterned(quadsIndexBuffer, kIdxsPerQuad, kQuadNumVertices, quadCount,
kQuadsNumInIdxBuffer);
mesh->setVertexData(vertexBuffer, firstVertex);
@@ -1097,7 +1097,7 @@
geometryProcessorViewM,
geometryProcessorLocalM);
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexedPatterned(std::move(quadsIndexBuffer), kIdxsPerQuad, kQuadNumVertices,
conicCount, kQuadsNumInIdxBuffer);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
index 706b8dc..0409b5f 100644
--- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
@@ -223,7 +223,7 @@
return;
}
memcpy(idxs, indices, indexCount * sizeof(uint16_t));
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexed(std::move(indexBuffer), indexCount, firstIndex, 0, vertexCount - 1,
GrPrimitiveRestart::kNo);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp
index 03667f6..594d68c 100644
--- a/src/gpu/ops/GrAtlasTextOp.cpp
+++ b/src/gpu/ops/GrAtlasTextOp.cpp
@@ -511,7 +511,7 @@
}
}
int maxGlyphsPerDraw = static_cast<int>(flushInfo->fIndexBuffer->size() / sizeof(uint16_t) / 6);
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexedPatterned(flushInfo->fIndexBuffer, kIndicesPerGlyph, kVerticesPerGlyph,
flushInfo->fGlyphsToFlush, maxGlyphsPerDraw);
mesh->setVertexData(flushInfo->fVertexBuffer, flushInfo->fVertexOffset);
diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp
index b7e3c1d..086583f 100644
--- a/src/gpu/ops/GrDefaultPathRenderer.cpp
+++ b/src/gpu/ops/GrDefaultPathRenderer.cpp
@@ -269,7 +269,7 @@
SkASSERT(indexCount <= fIndicesInChunk);
if (this->isIndexed() ? SkToBool(indexCount) : SkToBool(vertexCount)) {
- GrMesh* mesh = fTarget->allocMesh(fPrimitiveType);
+ GrMesh* mesh = fTarget->allocMesh();
if (!this->isIndexed()) {
mesh->setNonIndexedNonInstanced(vertexCount);
} else {
diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp
index 5080b57..9647abe 100644
--- a/src/gpu/ops/GrDrawVerticesOp.cpp
+++ b/src/gpu/ops/GrDrawVerticesOp.cpp
@@ -500,7 +500,7 @@
int firstVertex,
sk_sp<const GrBuffer> indexBuffer,
int firstIndex) {
- GrMesh* mesh = target->allocMesh(this->primitiveType());
+ GrMesh* mesh = target->allocMesh();
if (this->isIndexed()) {
mesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertexCount - 1,
GrPrimitiveRestart::kNo);
diff --git a/src/gpu/ops/GrFillRRectOp.cpp b/src/gpu/ops/GrFillRRectOp.cpp
index 04d8a9b..368a83b 100644
--- a/src/gpu/ops/GrFillRRectOp.cpp
+++ b/src/gpu/ops/GrFillRRectOp.cpp
@@ -805,7 +805,7 @@
flushState->dstProxyView());
}
- GrMesh* mesh = flushState->allocator()->make<GrMesh>(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = flushState->allocator()->make<GrMesh>();
mesh->setIndexedInstanced(std::move(fIndexBuffer), fIndexCount,
std::move(fInstanceBuffer), fInstanceCount,
fBaseInstance, GrPrimitiveRestart::kNo);
diff --git a/src/gpu/ops/GrMeshDrawOp.cpp b/src/gpu/ops/GrMeshDrawOp.cpp
index bfd052b..63d94e4 100644
--- a/src/gpu/ops/GrMeshDrawOp.cpp
+++ b/src/gpu/ops/GrMeshDrawOp.cpp
@@ -42,7 +42,7 @@
return;
}
SkASSERT(vertexBuffer);
- fMesh = target->allocMesh(primitiveType);
+ fMesh = target->allocMesh();
fPrimitiveType = primitiveType;
SkASSERT(maxRepetitions ==
diff --git a/src/gpu/ops/GrMeshDrawOp.h b/src/gpu/ops/GrMeshDrawOp.h
index 1922266..27201d9 100644
--- a/src/gpu/ops/GrMeshDrawOp.h
+++ b/src/gpu/ops/GrMeshDrawOp.h
@@ -166,10 +166,7 @@
virtual void putBackIndices(int indices) = 0;
virtual void putBackVertices(int vertices, size_t vertexStride) = 0;
- GrMesh* allocMesh(GrPrimitiveType primitiveType) {
- return this->allocator()->make<GrMesh>(primitiveType);
- }
-
+ GrMesh* allocMesh() { return this->allocator()->make<GrMesh>(); }
GrMesh* allocMeshes(int n) { return this->allocator()->makeArray<GrMesh>(n); }
static GrPipeline::DynamicStateArrays* AllocDynamicStateArrays(SkArenaAlloc*,
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index 73e77e8..fea5171 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -1396,7 +1396,7 @@
currStartVertex += circle_type_to_vert_count(circle.fStroked);
}
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
GrPrimitiveRestart::kNo);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
@@ -1693,7 +1693,7 @@
currStartVertex += circle_type_to_vert_count(true);
}
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
GrPrimitiveRestart::kNo);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
@@ -2633,7 +2633,7 @@
currStartVertex += rrect_type_to_vert_count(rrect.fType);
}
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
GrPrimitiveRestart::kNo);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
diff --git a/src/gpu/ops/GrQuadPerEdgeAA.cpp b/src/gpu/ops/GrQuadPerEdgeAA.cpp
index d4861aa..66b84a9 100644
--- a/src/gpu/ops/GrQuadPerEdgeAA.cpp
+++ b/src/gpu/ops/GrQuadPerEdgeAA.cpp
@@ -398,8 +398,6 @@
sk_sp<const GrBuffer> indexBuffer, int absVertBufferOffset) {
SkASSERT(vertexBuffer);
- mesh->setPrimitiveType(spec.primitiveType());
-
if (spec.indexBufferOption() == IndexBufferOption::kTriStrips) {
SkASSERT(!indexBuffer);
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index b1ef4e2..e1209ee 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -596,7 +596,7 @@
auto fixedDynamicState = target->makeFixedDynamicState(1);
fixedDynamicState->fPrimitiveProcessorTextures[0] = fFalloffView.proxy();
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexed(std::move(indexBuffer), fIndexCount, firstIndex, 0, fVertCount - 1,
GrPrimitiveRestart::kNo);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp
index 72b34d7..99172ec 100644
--- a/src/gpu/ops/GrSmallPathRenderer.cpp
+++ b/src/gpu/ops/GrSmallPathRenderer.cpp
@@ -796,7 +796,7 @@
}
if (flushInfo->fInstancesToFlush) {
- GrMesh* mesh = target->allocMesh(GrPrimitiveType::kTriangles);
+ GrMesh* mesh = target->allocMesh();
mesh->setIndexedPatterned(flushInfo->fIndexBuffer,
GrResourceProvider::NumIndicesPerNonAAQuad(),
GrResourceProvider::NumVertsPerNonAAQuad(),
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 7bcee08..a2d2a94 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -221,7 +221,7 @@
vertex[4].set(fRect.fLeft, fRect.fTop);
}
- GrMesh* mesh = target->allocMesh(primType);
+ GrMesh* mesh = target->allocMesh();
mesh->setNonIndexedNonInstanced(vertexCount);
mesh->setVertexData(std::move(vertexBuffer), firstVertex);
target->recordDraw(gp, mesh, 1, primType);
diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp
index 7817b05..55c194d 100644
--- a/src/gpu/ops/GrTessellatingPathRenderer.cpp
+++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp
@@ -364,7 +364,7 @@
GrPrimitiveType primitiveType = TESSELLATOR_WIREFRAME ? GrPrimitiveType::kLines
: GrPrimitiveType::kTriangles;
- GrMesh* mesh = target->allocMesh(primitiveType);
+ GrMesh* mesh = target->allocMesh();
mesh->setNonIndexedNonInstanced(count);
mesh->setVertexData(std::move(vb), firstVertex);
target->recordDraw(gp, mesh, 1, primitiveType);