Remove guard for SkCanvas::drawMesh
Bug: skia:12720
Change-Id: Iec6da618108ffe0c504d20eda4dbb0fd539edfeb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/565902
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index f9292ce..42e0b09 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -5,6 +5,10 @@
Milestone 106
-------------
* sk_sp is marked with the [[clang::trivial_abi]] attribute where supported.
+ * SkMesh API: Allows a user to draw a vertex mesh with custom attributes and
+ varyings using SkSL. Mesh data (vertex and index) can be created on a
+ GrDirectContext to avoid re-uploading data per draw. Currently does not
+ work with SkPicture or any backend but GPU.
* * *
diff --git a/gm/mesh.cpp b/gm/mesh.cpp
index 38cb910..9e6ca14 100644
--- a/gm/mesh.cpp
+++ b/gm/mesh.cpp
@@ -195,7 +195,7 @@
paint.setShader(shader ? fShader : nullptr);
paint.setAlpha(alpha);
- SkCanvasPriv::DrawMesh(canvas, mesh, blender, paint);
+ canvas->drawMesh(mesh, blender, paint);
canvas->translate(0, 150);
++i;
@@ -438,7 +438,7 @@
SkPaint paint;
paint.setShader(useShader ? fShader : nullptr);
SkBlendMode mode = useShader ? SkBlendMode::kModulate : SkBlendMode::kDst;
- SkCanvasPriv::DrawMesh(c, mesh, SkBlender::Mode(mode), paint);
+ canvas->drawMesh(mesh, SkBlender::Mode(mode), paint);
c->translate(0, kRect.height() + 10);
}
@@ -585,7 +585,7 @@
SkPaint paint;
paint.setShader(fShader);
- SkCanvasPriv::DrawMesh(canvas, mesh, SkBlender::Mode(SkBlendMode::kModulate), paint);
+ canvas->drawMesh(mesh, SkBlender::Mode(SkBlendMode::kModulate), paint);
canvas->translate(0, kRect.height() + 10);
}
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index d46f65e..834b257 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -1981,7 +1981,7 @@
*/
void drawVertices(const sk_sp<SkVertices>& vertices, SkBlendMode mode, const SkPaint& paint);
-#if defined(SK_ENABLE_EXPERIMENTAL_CUSTOM_MESH) && defined(SK_ENABLE_SKSL)
+#if defined(SK_ENABLE_SKSL)
/**
Experimental, under active development, and subject to change without notice.
@@ -2223,11 +2223,6 @@
virtual void didTranslate(SkScalar, SkScalar) {}
virtual void didScale(SkScalar, SkScalar) {}
-#ifndef SK_ENABLE_EXPERIMENTAL_CUSTOM_MESH
- // Define this in protected so we can still access internally for testing.
- void drawMesh(const SkMesh& mesh, sk_sp<SkBlender> blender, const SkPaint& paint);
-#endif
-
// NOTE: If you are adding a new onDraw virtual to SkCanvas, PLEASE add an override to
// SkCanvasVirtualEnforcer (in SkCanvasVirtualEnforcer.h). This ensures that subclasses using
// that mechanism will be required to implement the new function.
diff --git a/src/core/SkCanvasPriv.cpp b/src/core/SkCanvasPriv.cpp
index 7a73ece..efaf54b 100644
--- a/src/core/SkCanvasPriv.cpp
+++ b/src/core/SkCanvasPriv.cpp
@@ -101,15 +101,6 @@
*totalMatrixCount = maxMatrixIndex + 1;
}
-#ifdef SK_ENABLE_SKSL
-void SkCanvasPriv::DrawMesh(SkCanvas* canvas,
- const SkMesh& mesh,
- sk_sp<SkBlender> blender,
- const SkPaint& paint) {
- canvas->drawMesh(mesh, std::move(blender), paint);
-}
-#endif
-
#if GR_TEST_UTILS
#if SK_SUPPORT_GPU
diff --git a/src/core/SkCanvasPriv.h b/src/core/SkCanvasPriv.h
index 72b57af..aeb4a04 100644
--- a/src/core/SkCanvasPriv.h
+++ b/src/core/SkCanvasPriv.h
@@ -102,11 +102,6 @@
static void SetBackdropScaleFactor(SkCanvas::SaveLayerRec* rec, SkScalar scale) {
rec->fExperimentalBackdropScale = scale;
}
-
- static void DrawMesh(SkCanvas*,
- const SkMesh& mesh,
- sk_sp<SkBlender> blender,
- const SkPaint& paint);
};
/**