Move creation of AAQuadIndexBuffer to GrResourceProvider
This CL also increases the AAQuadIndexBuffer's size and centralizes the handling of index buffer constants.
Change-Id: I4fb679a1c5e4076cf249b612f798e9bf5a38cd0b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251244
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 439a7c7..3a307ba 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -484,6 +484,7 @@
int verticesPerInstance = (outerVertexNum + innerVertexNum) * 2;
int indicesPerInstance = this->miterStroke() ? kMiterIndexCnt : kBevelIndexCnt;
int instanceCount = fRects.count();
+ int maxQuads = this->miterStroke() ? kNumMiterRectsInIndexBuffer : kNumBevelRectsInIndexBuffer;
sk_sp<const GrGpuBuffer> indexBuffer =
GetIndexBuffer(target->resourceProvider(), this->miterStroke());
@@ -493,7 +494,7 @@
}
PatternHelper helper(target, GrPrimitiveType::kTriangles, gp->vertexStride(),
std::move(indexBuffer), verticesPerInstance, indicesPerInstance,
- instanceCount);
+ instanceCount, maxQuads);
GrVertexWriter vertices{ helper.vertices() };
if (!vertices.fPtr) {
SkDebugf("Could not allocate vertices\n");