From 6b316e9e20d67f0f13021ca62f4270105c6151b1 Mon Sep 17 00:00:00 2001 From: Brian Salomon Date: Fri, 16 Dec 2016 09:35:49 -0500 Subject: [PATCH] Rename GrTestBatch and subclasses to Op Change-Id: Ideab66b7ca227057a767be48aba3ea69a0a19115 Reviewed-on: https://skia-review.googlesource.com/6161 Commit-Queue: Brian Salomon Reviewed-by: Brian Osman --- gm/beziereffects.cpp | 54 ++++++++++--------- gm/convexpolyeffect.cpp | 20 +++---- gn/gpu.gni | 1 + src/gpu/batches/GrDashOp.h | 1 + .../{GrTestBatch.h => GrTestMeshDrawOp.h} | 11 ++-- 5 files changed, 47 insertions(+), 40 deletions(-) rename src/gpu/batches/{GrTestBatch.h => GrTestMeshDrawOp.h} (88%) diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp index 73af7e45b8..61ad64af5a 100644 --- a/gm/beziereffects.cpp +++ b/gm/beziereffects.cpp @@ -18,7 +18,7 @@ #include "SkColorPriv.h" #include "SkGeometry.h" -#include "batches/GrTestBatch.h" +#include "batches/GrTestMeshDrawOp.h" #include "effects/GrBezierEffect.h" @@ -28,24 +28,26 @@ static inline SkScalar eval_line(const SkPoint& p, const SkScalar lineEq[3], SkS namespace skiagm { -class BezierCubicOrConicTestBatch : public GrTestBatch { +class BezierCubicOrConicTestOp : public GrTestMeshDrawOp { public: DEFINE_OP_CLASS_ID - const char* name() const override { return "BezierCubicOrConicTestBatch"; } + const char* name() const override { return "BezierCubicOrConicTestOp"; } - BezierCubicOrConicTestBatch(sk_sp gp, const SkRect& bounds, - GrColor color, const SkScalar klmEqs[9], SkScalar sign) - : INHERITED(ClassID(), bounds, color) - , fGeometryProcessor(std::move(gp)) { + static sk_sp Make(sk_sp gp, const SkRect& bounds, GrColor color, + const SkScalar klmEqs[9], SkScalar sign) { + return sk_sp(new BezierCubicOrConicTestOp(gp, bounds, color, klmEqs, sign)); + } + +private: + BezierCubicOrConicTestOp(sk_sp gp, const SkRect& bounds, GrColor color, + const SkScalar klmEqs[9], SkScalar sign) + : INHERITED(ClassID(), bounds, color), fGeometryProcessor(std::move(gp)) { for (int i = 0; i < 9; i++) { fKlmEqs[i] = klmEqs[i]; } fSign = sign; } - -private: - struct Vertex { SkPoint fPosition; float fKLM[4]; // The last value is ignored. The effect expects a vec4f. @@ -77,7 +79,7 @@ private: static constexpr int kVertsPerCubic = 4; static constexpr int kIndicesPerCubic = 6; - typedef GrTestBatch INHERITED; + typedef GrTestMeshDrawOp INHERITED; }; /** @@ -192,9 +194,8 @@ protected: GrPaint grPaint; grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); - sk_sp op = sk_make_sp(gp, bounds, color, - klmEqs, - klmSigns[c]); + sk_sp op = + BezierCubicOrConicTestOp::Make(gp, bounds, color, klmEqs, klmSigns[c]); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); @@ -326,8 +327,8 @@ protected: GrPaint grPaint; grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); - sk_sp op(new BezierCubicOrConicTestBatch(gp, bounds, color, klmEqs, - 1.f)); + sk_sp op = + BezierCubicOrConicTestOp::Make(gp, bounds, color, klmEqs, 1.f); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); @@ -387,19 +388,22 @@ private: ////////////////////////////////////////////////////////////////////////////// -class BezierQuadTestBatch : public GrTestBatch { +class BezierQuadTestOp : public GrTestMeshDrawOp { public: DEFINE_OP_CLASS_ID - const char* name() const override { return "BezierQuadTestBatch"; } + const char* name() const override { return "BezierQuadTestOp"; } - BezierQuadTestBatch(sk_sp gp, const SkRect& bounds, GrColor color, - const GrPathUtils::QuadUVMatrix& devToUV) - : INHERITED(ClassID(), bounds, color) - , fDevToUV(devToUV) - , fGeometryProcessor(std::move(gp)) { + static sk_sp Make(sk_sp gp, const SkRect& bounds, GrColor color, + const GrPathUtils::QuadUVMatrix& devToUV) { + return sk_sp(new BezierQuadTestOp(gp, bounds, color, devToUV)); } private: + BezierQuadTestOp(sk_sp gp, const SkRect& bounds, GrColor color, + const GrPathUtils::QuadUVMatrix& devToUV) + : INHERITED(ClassID(), bounds, color) + , fDevToUV(devToUV) + , fGeometryProcessor(std::move(gp)) {} struct Vertex { SkPoint fPosition; @@ -427,7 +431,7 @@ private: static constexpr int kVertsPerCubic = 4; static constexpr int kIndicesPerCubic = 6; - typedef GrTestBatch INHERITED; + typedef GrTestMeshDrawOp INHERITED; }; /** @@ -539,7 +543,7 @@ protected: GrPathUtils::QuadUVMatrix DevToUV(pts); - sk_sp op(new BezierQuadTestBatch(gp, bounds, color, DevToUV)); + sk_sp op = BezierQuadTestOp::Make(gp, bounds, color, DevToUV); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp index 9903c39b93..f3b7294f2c 100644 --- a/gm/convexpolyeffect.cpp +++ b/gm/convexpolyeffect.cpp @@ -21,7 +21,7 @@ #include "SkTLList.h" #include "batches/GrMeshDrawOp.h" -#include "batches/GrTestBatch.h" +#include "batches/GrTestMeshDrawOp.h" #include "effects/GrConvexPolyEffect.h" @@ -40,18 +40,20 @@ static SkRect sorted_rect(const SkRect& unsorted) { } namespace skiagm { -class PolyBoundsBatch : public GrTestBatch { +class PolyBoundsOp : public GrTestMeshDrawOp { public: DEFINE_OP_CLASS_ID - const char* name() const override { return "PolyBoundsBatch"; } + const char* name() const override { return "PolyBoundsOp"; } - PolyBoundsBatch(const SkRect& rect, GrColor color) - : INHERITED(ClassID(), outset(sorted_rect(rect)), color) - , fRect(outset(rect)) { + static sk_sp Make(const SkRect& rect, GrColor color) { + return sk_sp(new PolyBoundsOp(rect, color)); } private: + PolyBoundsOp(const SkRect& rect, GrColor color) + : INHERITED(ClassID(), outset(sorted_rect(rect)), color), fRect(outset(rect)) {} + void onPrepareDraws(Target* target) const override { using namespace GrDefaultGeoProcFactory; @@ -76,7 +78,7 @@ private: SkRect fRect; - typedef GrTestBatch INHERITED; + typedef GrTestMeshDrawOp INHERITED; }; /** @@ -183,7 +185,7 @@ protected: grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); grPaint.addCoverageFragmentProcessor(std::move(fp)); - sk_sp op(new PolyBoundsBatch(p.getBounds(), 0xff000000)); + sk_sp op = PolyBoundsOp::Make(p.getBounds(), 0xff000000); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); @@ -223,7 +225,7 @@ protected: grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); grPaint.addCoverageFragmentProcessor(std::move(fp)); - sk_sp op(new PolyBoundsBatch(rect, 0xff000000)); + sk_sp op = PolyBoundsOp::Make(rect, 0xff000000); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); diff --git a/gn/gpu.gni b/gn/gpu.gni index 3dc7c21c28..dfef54606a 100644 --- a/gn/gpu.gni +++ b/gn/gpu.gni @@ -288,6 +288,7 @@ skia_gpu_sources = [ "$_src/gpu/batches/GrStencilPathOp.h", "$_src/gpu/batches/GrTessellatingPathRenderer.cpp", "$_src/gpu/batches/GrTessellatingPathRenderer.h", + "$_src/gpu/batches/GrTestMeshDrawOp.h", "$_src/gpu/batches/GrMeshDrawOp.cpp", "$_src/gpu/batches/GrMeshDrawOp.h", diff --git a/src/gpu/batches/GrDashOp.h b/src/gpu/batches/GrDashOp.h index ff04f91af5..56e2ba8f8b 100644 --- a/src/gpu/batches/GrDashOp.h +++ b/src/gpu/batches/GrDashOp.h @@ -12,6 +12,7 @@ #include "GrTypesPriv.h" #include "SkPathEffect.h" +class GrClip; class GrDrawOp; class GrStyle; diff --git a/src/gpu/batches/GrTestBatch.h b/src/gpu/batches/GrTestMeshDrawOp.h similarity index 88% rename from src/gpu/batches/GrTestBatch.h rename to src/gpu/batches/GrTestMeshDrawOp.h index 66df7763cd..414c74a9c2 100644 --- a/src/gpu/batches/GrTestBatch.h +++ b/src/gpu/batches/GrTestMeshDrawOp.h @@ -5,8 +5,8 @@ * found in the LICENSE file. */ -#ifndef GrTestBatch_DEFINED -#define GrTestBatch_DEFINED +#ifndef GrTestMeshDrawOp_DEFINED +#define GrTestMeshDrawOp_DEFINED #include "GrGeometryProcessor.h" #include "GrOpFlushState.h" @@ -17,7 +17,7 @@ * A simple solid color batch only for testing purposes which actually doesn't batch at all. It * saves having to fill out some boiler plate methods. */ -class GrTestBatch : public GrMeshDrawOp { +class GrTestMeshDrawOp : public GrMeshDrawOp { public: virtual const char* name() const override = 0; @@ -38,9 +38,8 @@ public: } protected: - GrTestBatch(uint32_t classID, const SkRect& bounds, GrColor color) - : INHERITED(classID) - , fColor(color) { + GrTestMeshDrawOp(uint32_t classID, const SkRect& bounds, GrColor color) + : INHERITED(classID), fColor(color) { // Choose some conservative values for aa bloat and zero area. this->setBounds(bounds, HasAABloat::kYes, IsZeroArea::kYes); }