diff options
author | Mike Reed <reed@google.com> | 2017-03-17 12:09:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-03-17 17:03:18 +0000 |
commit | fed9cfdc0216152d7fffe6d838ea7281466ffe74 (patch) | |
tree | f492f753a9ec89df2e9725bd5e60b7101f6c9a9a /src/pipe | |
parent | e0a34e7dcddf68f0972805894f26c54869c3faba (diff) |
remove legacy virtual for vertices, only support object form
BUG=skia:6366
Change-Id: Ic422fa44a788d3488c050c6218dbfba188bb8f3e
Reviewed-on: https://skia-review.googlesource.com/9835
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/pipe')
-rw-r--r-- | src/pipe/SkPipeCanvas.cpp | 43 | ||||
-rw-r--r-- | src/pipe/SkPipeCanvas.h | 6 |
2 files changed, 6 insertions, 43 deletions
diff --git a/src/pipe/SkPipeCanvas.cpp b/src/pipe/SkPipeCanvas.cpp index e707f0db19..b05a643cb8 100644 --- a/src/pipe/SkPipeCanvas.cpp +++ b/src/pipe/SkPipeCanvas.cpp @@ -731,47 +731,14 @@ void SkPipeCanvas::onDrawRegion(const SkRegion& region, const SkPaint& paint) { write_paint(writer, paint, kGeometry_PaintUsage); } -void SkPipeCanvas::onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode bmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - SkASSERT(vertexCount > 0); - - unsigned extra = 0; - if (vertexCount <= kVCount_DrawVerticesMask) { - extra |= vertexCount; - } - extra |= (unsigned)vmode << kVMode_DrawVerticesShift; - extra |= (unsigned)bmode << kXMode_DrawVerticesShift; - - if (texs) { - extra |= kHasTex_DrawVerticesMask; - } - if (colors) { - extra |= kHasColors_DrawVerticesMask; - } - if (indexCount > 0) { - extra |= kHasIndices_DrawVerticesMask; - } +void SkPipeCanvas::onDrawVerticesObject(const SkVertices* vertices, SkBlendMode bmode, + const SkPaint& paint) { + unsigned extra = static_cast<unsigned>(bmode); SkPipeWriter writer(this); writer.write32(pack_verb(SkPipeVerb::kDrawVertices, extra)); - if (vertexCount > kVCount_DrawVerticesMask) { - writer.write32(vertexCount); - } - writer.write(vertices, vertexCount * sizeof(SkPoint)); - if (texs) { - writer.write(texs, vertexCount * sizeof(SkPoint)); - } - if (colors) { - writer.write(colors, vertexCount * sizeof(SkColor)); - } - if (indexCount > 0) { - writer.write32(indexCount); - SkASSERT(SkIsAlign2(indexCount)); - writer.write(indices, indexCount * sizeof(uint16_t)); - } + // TODO: dedup vertices? + writer.writeDataAsByteArray(vertices->encode().get()); write_paint(writer, paint, kVertices_PaintUsage); } diff --git a/src/pipe/SkPipeCanvas.h b/src/pipe/SkPipeCanvas.h index a506da4ece..5604ba787a 100644 --- a/src/pipe/SkPipeCanvas.h +++ b/src/pipe/SkPipeCanvas.h @@ -136,11 +136,7 @@ protected: const SkPaint*) override; void onDrawImageLattice(const SkImage*, const Lattice& lattice, const SkRect& dst, const SkPaint*) override; - void onDrawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkBlendMode, - const uint16_t indices[], int indexCount, - const SkPaint&) override; + void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override; |