Convert GrBuffer owners to sk_sp
Change-Id: Id49d775c30f01f4de05f385227c5ed5d90d6839e
Reviewed-on: https://skia-review.googlesource.com/c/187920
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/ops/GrStrokeRectOp.cpp b/src/gpu/ops/GrStrokeRectOp.cpp
index 541c8a5..9495333 100644
--- a/src/gpu/ops/GrStrokeRectOp.cpp
+++ b/src/gpu/ops/GrStrokeRectOp.cpp
@@ -186,7 +186,7 @@
vertexCount = kVertsPerStrokeRect;
}
- const GrBuffer* vertexBuffer;
+ sk_sp<const GrBuffer> vertexBuffer;
int firstVertex;
void* verts =
@@ -215,7 +215,7 @@
GrMesh* mesh = target->allocMesh(primType);
mesh->setNonIndexedNonInstanced(vertexCount);
- mesh->setVertexData(vertexBuffer, firstVertex);
+ mesh->setVertexData(std::move(vertexBuffer), firstVertex);
auto pipe = fHelper.makePipeline(target);
target->draw(std::move(gp), pipe.fPipeline, pipe.fFixedDynamicState, mesh);
}
@@ -474,10 +474,15 @@
sk_sp<const GrBuffer> indexBuffer =
GetIndexBuffer(target->resourceProvider(), this->miterStroke());
- PatternHelper helper(target, GrPrimitiveType::kTriangles, gp->vertexStride(), indexBuffer.get(),
- verticesPerInstance, indicesPerInstance, instanceCount);
+ if (!indexBuffer) {
+ SkDebugf("Could not allocate indices\n");
+ return;
+ }
+ PatternHelper helper(target, GrPrimitiveType::kTriangles, gp->vertexStride(),
+ std::move(indexBuffer), verticesPerInstance, indicesPerInstance,
+ instanceCount);
GrVertexWriter vertices{ helper.vertices() };
- if (!vertices.fPtr || !indexBuffer) {
+ if (!vertices.fPtr) {
SkDebugf("Could not allocate vertices\n");
return;
}