aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ops/GrDashOp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ops/GrDashOp.cpp')
-rw-r--r--src/gpu/ops/GrDashOp.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index 1a8bfbade2..b784b0590e 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -9,10 +9,12 @@
#include "GrAppliedClip.h"
#include "GrCaps.h"
#include "GrContext.h"
+#include "GrContextPriv.h"
#include "GrCoordTransform.h"
#include "GrDefaultGeoProcFactory.h"
#include "GrDrawOpTest.h"
#include "GrGeometryProcessor.h"
+#include "GrMemoryPool.h"
#include "GrOpFlushState.h"
#include "GrProcessor.h"
#include "GrStyle.h"
@@ -263,8 +265,11 @@ public:
SkScalar fPerpendicularScale;
};
- static std::unique_ptr<GrDrawOp> Make(GrPaint&& paint, const LineData& geometry,
- SkPaint::Cap cap, AAMode aaMode, bool fullDash,
+ static std::unique_ptr<GrDrawOp> Make(GrContext* context,
+ GrPaint&& paint,
+ const LineData& geometry,
+ SkPaint::Cap cap,
+ AAMode aaMode, bool fullDash,
const GrUserStencilSettings* stencilSettings) {
return std::unique_ptr<GrDrawOp>(
new DashOp(std::move(paint), geometry, cap, aaMode, fullDash, stencilSettings));
@@ -322,6 +327,8 @@ public:
}
private:
+ friend class GrOpMemoryPool; // for ctor
+
DashOp(GrPaint&& paint, const LineData& geometry, SkPaint::Cap cap, AAMode aaMode,
bool fullDash, const GrUserStencilSettings* stencilSettings)
: INHERITED(ClassID())
@@ -751,7 +758,8 @@ private:
typedef GrMeshDrawOp INHERITED;
};
-std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrPaint&& paint,
+std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrContext* context,
+ GrPaint&& paint,
const SkMatrix& viewMatrix,
const SkPoint pts[2],
AAMode aaMode,
@@ -802,7 +810,8 @@ std::unique_ptr<GrDrawOp> GrDashOp::MakeDashLineOp(GrPaint&& paint,
lineData.fIntervals[0] = intervals[0];
lineData.fIntervals[1] = intervals[1];
- return DashOp::Make(std::move(paint), lineData, cap, aaMode, fullDash, stencilSettings);
+ return DashOp::Make(context, std::move(paint), lineData, cap, aaMode, fullDash,
+ stencilSettings);
}
//////////////////////////////////////////////////////////////////////////////
@@ -1331,7 +1340,7 @@ GR_DRAW_OP_TEST_DEFINE(DashOp) {
GrStyle style(p);
- return GrDashOp::MakeDashLineOp(std::move(paint), viewMatrix, pts, aaMode, style,
+ return GrDashOp::MakeDashLineOp(context, std::move(paint), viewMatrix, pts, aaMode, style,
GrGetRandomStencil(random, context));
}