aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pipe
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-03-17 12:09:04 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-17 17:03:18 +0000
commitfed9cfdc0216152d7fffe6d838ea7281466ffe74 (patch)
treef492f753a9ec89df2e9725bd5e60b7101f6c9a9a /src/pipe
parente0a34e7dcddf68f0972805894f26c54869c3faba (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.cpp43
-rw-r--r--src/pipe/SkPipeCanvas.h6
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;