Index: gm/beziereffects.cpp |
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp |
index 1224c1a8bb578b67cb59b3ea31b2ea44f1a1ff3a..ae1c37fdf6031ecd5a987c97c6b0bf2bd2be2e85 100644 |
--- a/gm/beziereffects.cpp |
+++ b/gm/beziereffects.cpp |
@@ -34,10 +34,10 @@ public: |
const char* name() const override { return "BezierCubicOrConicTestBatch"; } |
- BezierCubicOrConicTestBatch(const GrGeometryProcessor* gp, const SkRect& bounds, |
+ BezierCubicOrConicTestBatch(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, |
GrColor color, const SkScalar klmEqs[9], SkScalar sign) |
: INHERITED(ClassID(), bounds, color) |
- , fGeometryProcessor(SkRef(gp)) { |
+ , fGeometryProcessor(std::move(gp)) { |
for (int i = 0; i < 9; i++) { |
fKlmEqs[i] = klmEqs[i]; |
} |
@@ -67,12 +67,12 @@ private: |
verts[v].fKLM[1] = eval_line(verts[v].fPosition, fKlmEqs + 3, fSign); |
verts[v].fKLM[2] = eval_line(verts[v].fPosition, fKlmEqs + 6, 1.f); |
} |
- helper.recordDraw(target, fGeometryProcessor); |
+ helper.recordDraw(target, fGeometryProcessor.get()); |
} |
- SkScalar fKlmEqs[9]; |
- SkScalar fSign; |
- SkAutoTUnref<const GrGeometryProcessor> fGeometryProcessor; |
+ SkScalar fKlmEqs[9]; |
+ SkScalar fSign; |
+ sk_sp<GrGeometryProcessor> fGeometryProcessor; |
static const int kVertsPerCubic = 4; |
static const int kIndicesPerCubic = 6; |
@@ -135,10 +135,9 @@ protected: |
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)} |
}; |
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) { |
- SkAutoTUnref<GrGeometryProcessor> gp; |
+ sk_sp<GrGeometryProcessor> gp; |
GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType; |
- gp.reset(GrCubicEffect::Create(color, SkMatrix::I(), et, |
- *context->caps())); |
+ gp = GrCubicEffect::Make(color, SkMatrix::I(), et, *context->caps()); |
if (!gp) { |
continue; |
} |
@@ -191,7 +190,7 @@ protected: |
GrPipelineBuilder pipelineBuilder; |
pipelineBuilder.setXPFactory( |
- GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); |
+ GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mode)); |
SkAutoTUnref<GrDrawBatch> batch( |
new BezierCubicOrConicTestBatch(gp, bounds, color, klmEqs, klmSigns[c])); |
@@ -269,10 +268,10 @@ protected: |
}; |
SkScalar weight = rand.nextRangeF(0.f, 2.f); |
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) { |
- SkAutoTUnref<GrGeometryProcessor> gp; |
+ sk_sp<GrGeometryProcessor> gp; |
GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType; |
- gp.reset(GrConicEffect::Create(color, SkMatrix::I(), et, |
- *context->caps(), SkMatrix::I(), false)); |
+ gp = GrConicEffect::Make(color, SkMatrix::I(), et, |
+ *context->caps(), SkMatrix::I(), false); |
if (!gp) { |
continue; |
} |
@@ -323,7 +322,7 @@ protected: |
GrPipelineBuilder pipelineBuilder; |
pipelineBuilder.setXPFactory( |
- GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); |
+ GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mode)); |
SkAutoTUnref<GrDrawBatch> batch( |
new BezierCubicOrConicTestBatch(gp, bounds, color, klmEqs, 1.f)); |
@@ -387,11 +386,11 @@ public: |
DEFINE_BATCH_CLASS_ID |
const char* name() const override { return "BezierQuadTestBatch"; } |
- BezierQuadTestBatch(const GrGeometryProcessor* gp, const SkRect& bounds, GrColor color, |
+ BezierQuadTestBatch(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, GrColor color, |
const GrPathUtils::QuadUVMatrix& devToUV) |
: INHERITED(ClassID(), bounds, color) |
, fDevToUV(devToUV) |
- , fGeometryProcessor(SkRef(gp)) { |
+ , fGeometryProcessor(std::move(gp)) { |
} |
private: |
@@ -413,11 +412,11 @@ private: |
verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, bounds.fRight, bounds.fBottom, |
sizeof(Vertex)); |
fDevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts); |
- helper.recordDraw(target, fGeometryProcessor); |
+ helper.recordDraw(target, fGeometryProcessor.get()); |
} |
- GrPathUtils::QuadUVMatrix fDevToUV; |
- SkAutoTUnref<const GrGeometryProcessor> fGeometryProcessor; |
+ GrPathUtils::QuadUVMatrix fDevToUV; |
+ sk_sp<GrGeometryProcessor> fGeometryProcessor; |
static const int kVertsPerCubic = 4; |
static const int kIndicesPerCubic = 6; |
@@ -479,10 +478,10 @@ protected: |
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)} |
}; |
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) { |
- SkAutoTUnref<GrGeometryProcessor> gp; |
+ sk_sp<GrGeometryProcessor> gp; |
GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType; |
- gp.reset(GrQuadEffect::Create(color, SkMatrix::I(), et, |
- *context->caps(), SkMatrix::I(), false)); |
+ gp = GrQuadEffect::Make(color, SkMatrix::I(), et, |
+ *context->caps(), SkMatrix::I(), false); |
if (!gp) { |
continue; |
} |
@@ -530,7 +529,7 @@ protected: |
GrPipelineBuilder pipelineBuilder; |
pipelineBuilder.setXPFactory( |
- GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); |
+ GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mode)); |
GrPathUtils::QuadUVMatrix DevToUV(pts); |