Convert GrMesh to a struct
Converts GrMesh to a struct and changes the names/semantics of its
fields to be more inline with their GL counterparts. Also renames the
"instancing" feature to "pattern", to avoid ambiguity with hardware
instancing.
Bug: skia:
Change-Id: Ia0999d4f9c83b5dd31f81b9bf4f36ed9abd26286
Reviewed-on: https://skia-review.googlesource.com/15157
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrMSAAPathRenderer.cpp b/src/gpu/ops/GrMSAAPathRenderer.cpp
index 8e32006..f4d14cd 100644
--- a/src/gpu/ops/GrMSAAPathRenderer.cpp
+++ b/src/gpu/ops/GrMSAAPathRenderer.cpp
@@ -413,14 +413,16 @@
SkASSERT(lineVertexStride == lineGP->getVertexStride());
GrMesh lineMeshes;
+ lineMeshes.fPrimitiveType = primitiveType;
if (fIsIndexed) {
- lineMeshes.initIndexed(primitiveType, lineVertexBuffer, lineIndexBuffer,
- firstLineVertex, firstLineIndex, lineVertexOffset,
- lineIndexOffset);
- } else {
- lineMeshes.init(primitiveType, lineVertexBuffer, firstLineVertex,
- lineVertexOffset);
+ lineMeshes.fIndexBuffer.reset(lineIndexBuffer);
+ lineMeshes.fIndexCount = lineIndexOffset;
+ lineMeshes.fBaseIndex = firstLineIndex;
}
+ lineMeshes.fVertexBuffer.reset(lineVertexBuffer);
+ lineMeshes.fVertexCount = lineVertexOffset;
+ lineMeshes.fBaseVertex = firstLineVertex;
+
target->draw(lineGP.get(), this->pipeline(), lineMeshes);
}
@@ -435,20 +437,20 @@
&firstQuadVertex);
memcpy(quadVertices, quads.vertices, quadVertexStride * quadVertexOffset);
GrMesh quadMeshes;
+ quadMeshes.fPrimitiveType = kTriangles_GrPrimitiveType;
if (fIsIndexed) {
const GrBuffer* quadIndexBuffer;
- int firstQuadIndex;
uint16_t* quadIndices = (uint16_t*) target->makeIndexSpace(quadIndexOffset,
&quadIndexBuffer,
- &firstQuadIndex);
+ &quadMeshes.fBaseIndex);
+ quadMeshes.fIndexBuffer.reset(quadIndexBuffer);
+ quadMeshes.fIndexCount = quadIndexOffset;
memcpy(quadIndices, quads.indices, sizeof(uint16_t) * quadIndexOffset);
- quadMeshes.initIndexed(kTriangles_GrPrimitiveType, quadVertexBuffer,
- quadIndexBuffer, firstQuadVertex, firstQuadIndex,
- quadVertexOffset, quadIndexOffset);
- } else {
- quadMeshes.init(kTriangles_GrPrimitiveType, quadVertexBuffer, firstQuadVertex,
- quadVertexOffset);
}
+ quadMeshes.fVertexBuffer.reset(quadVertexBuffer);
+ quadMeshes.fVertexCount = quadVertexOffset;
+ quadMeshes.fBaseVertex = firstQuadVertex;
+
target->draw(quadGP.get(), this->pipeline(), quadMeshes);
}
}