Revert[2] "More SkVertices implementation work""
The fix was to release the array of vertices in the picturerecorder
destructor (where we also release textblobs etc.
This reverts commit 1eb3fef136bc75bd8e8ed717ec7c5d4ab26def62.
BUG=skia:
Change-Id: I3bf4acd6ad209205b0832a3cb7f94cd89dfcefc5
Reviewed-on: https://skia-review.googlesource.com/9826
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 23aed12..ccdb71b 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1799,10 +1799,15 @@
indexCount, paint);
}
-void SkCanvas::drawVertices(sk_sp<SkVertices> vertices, SkBlendMode mode, const SkPaint& paint) {
+void SkCanvas::drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode,
+ const SkPaint& paint) {
RETURN_ON_NULL(vertices);
- uint32_t deprecatedFlags = 0;
- this->onDrawVerticesObject(std::move(vertices), mode, paint, deprecatedFlags);
+ this->onDrawVerticesObject(vertices.get(), mode, paint);
+}
+
+void SkCanvas::drawVertices(const SkVertices* vertices, SkBlendMode mode, const SkPaint& paint) {
+ RETURN_ON_NULL(vertices);
+ this->onDrawVerticesObject(vertices, mode, paint);
}
void SkCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
@@ -2671,24 +2676,24 @@
LOOPER_END
}
-void SkCanvas::onDrawVerticesObject(sk_sp<SkVertices> vertices, SkBlendMode bmode,
- const SkPaint& paint, uint32_t flags) {
+void SkCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode,
+ const SkPaint& paint) {
TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawVertices()");
LOOPER_BEGIN(paint, SkDrawFilter::kPath_Type, nullptr)
while (iter.next()) {
// In the common case of one iteration we could std::move vertices here.
- iter.fDevice->drawVerticesObject(vertices, bmode, looper.paint(), flags);
+ iter.fDevice->drawVerticesObject(vertices, bmode, looper.paint());
}
LOOPER_END
}
-void SkCanvas::onDrawVerticesObjectFallback(sk_sp<SkVertices> vertices, SkBlendMode mode,
- const SkPaint& paint, uint32_t deprecatedFlags) {
+void SkCanvas::devolveSkVerticesToRaw(const SkVertices* vertices, SkBlendMode mode,
+ const SkPaint& paint) {
this->onDrawVertices(vertices->mode(), vertices->vertexCount(), vertices->positions(),
- vertices->texCoords(), vertices->colors(), mode, vertices->indices(),
- vertices->indexCount(), paint);
+ vertices->texCoords(), vertices->colors(), mode,
+ vertices->indices(), vertices->indexCount(), paint);
}
void SkCanvas::drawPatch(const SkPoint cubics[12], const SkColor colors[4],