| Index: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| index 3f511ed2afe2907c9a9d57faaeb462f3f21f1bf3..b0324d4a2f62da10b76cb01a22f5285fa2519cc5 100644
|
| --- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| +++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| @@ -58,10 +58,11 @@ class Edge2PtConicalEffect : public GrGradientEffect {
|
| public:
|
|
|
| static GrFragmentProcessor* Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm) {
|
| - return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, shader, matrix, tm));
|
| + return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, shaderDataManager, shader, matrix, tm));
|
| }
|
|
|
| virtual ~Edge2PtConicalEffect() {}
|
| @@ -89,10 +90,11 @@ private:
|
| }
|
|
|
| Edge2PtConicalEffect(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm)
|
| - : INHERITED(ctx, shader, matrix, tm),
|
| + : INHERITED(ctx, shaderDataManager, shader, matrix, tm),
|
| fCenterX1(shader.getCenterX1()),
|
| fRadius0(shader.getStartRadius()),
|
| fDiffRadius(shader.getDiffRadius()){
|
| @@ -379,11 +381,13 @@ class FocalOutside2PtConicalEffect : public GrGradientEffect {
|
| public:
|
|
|
| static GrFragmentProcessor* Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| SkScalar focalX) {
|
| - return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, shader, matrix, tm, focalX));
|
| + return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, shaderDataManager, shader, matrix, tm,
|
| + focalX));
|
| }
|
|
|
| virtual ~FocalOutside2PtConicalEffect() { }
|
| @@ -408,11 +412,14 @@ private:
|
| }
|
|
|
| FocalOutside2PtConicalEffect(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| SkScalar focalX)
|
| - : INHERITED(ctx, shader, matrix, tm), fFocalX(focalX), fIsFlipped(shader.isFlippedGrad()) {
|
| + : INHERITED(ctx, shaderDataManager, shader, matrix, tm)
|
| + , fFocalX(focalX)
|
| + , fIsFlipped(shader.isFlippedGrad()) {
|
| this->initClassID<FocalOutside2PtConicalEffect>();
|
| }
|
|
|
| @@ -601,11 +608,13 @@ class FocalInside2PtConicalEffect : public GrGradientEffect {
|
| public:
|
|
|
| static GrFragmentProcessor* Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| SkScalar focalX) {
|
| - return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, shader, matrix, tm, focalX));
|
| + return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, shaderDataManager, shader, matrix, tm,
|
| + focalX));
|
| }
|
|
|
| virtual ~FocalInside2PtConicalEffect() {}
|
| @@ -630,11 +639,12 @@ private:
|
| }
|
|
|
| FocalInside2PtConicalEffect(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| SkScalar focalX)
|
| - : INHERITED(ctx, shader, matrix, tm), fFocalX(focalX) {
|
| + : INHERITED(ctx, shaderDataManager, shader, matrix, tm), fFocalX(focalX) {
|
| this->initClassID<FocalInside2PtConicalEffect>();
|
| }
|
|
|
| @@ -848,11 +858,13 @@ class CircleInside2PtConicalEffect : public GrGradientEffect {
|
| public:
|
|
|
| static GrFragmentProcessor* Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| const CircleConicalInfo& info) {
|
| - return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, shader, matrix, tm, info));
|
| + return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, shaderDataManager, shader, matrix, tm,
|
| + info));
|
| }
|
|
|
| virtual ~CircleInside2PtConicalEffect() {}
|
| @@ -881,11 +893,12 @@ private:
|
| }
|
|
|
| CircleInside2PtConicalEffect(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| const CircleConicalInfo& info)
|
| - : INHERITED(ctx, shader, matrix, tm), fInfo(info) {
|
| + : INHERITED(ctx, shaderDataManager, shader, matrix, tm), fInfo(info) {
|
| this->initClassID<CircleInside2PtConicalEffect>();
|
| }
|
|
|
| @@ -1072,11 +1085,13 @@ class CircleOutside2PtConicalEffect : public GrGradientEffect {
|
| public:
|
|
|
| static GrFragmentProcessor* Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| const CircleConicalInfo& info) {
|
| - return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, shader, matrix, tm, info));
|
| + return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, shaderDataManager, shader, matrix,
|
| + tm, info));
|
| }
|
|
|
| virtual ~CircleOutside2PtConicalEffect() {}
|
| @@ -1108,11 +1123,12 @@ private:
|
| }
|
|
|
| CircleOutside2PtConicalEffect(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| const SkMatrix& matrix,
|
| SkShader::TileMode tm,
|
| const CircleConicalInfo& info)
|
| - : INHERITED(ctx, shader, matrix, tm), fInfo(info) {
|
| + : INHERITED(ctx, shaderDataManager, shader, matrix, tm), fInfo(info) {
|
| this->initClassID<CircleOutside2PtConicalEffect>();
|
| if (shader.getStartRadius() != shader.getEndRadius()) {
|
| fTLimit = shader.getStartRadius() / (shader.getStartRadius() - shader.getEndRadius());
|
| @@ -1336,6 +1352,7 @@ void GLCircleOutside2PtConicalEffect::GenKey(const GrProcessor& processor,
|
| //////////////////////////////////////////////////////////////////////////////
|
|
|
| GrFragmentProcessor* Gr2PtConicalGradientEffect::Create(GrContext* ctx,
|
| + GrShaderDataManager* shaderDataManager,
|
| const SkTwoPointConicalGradient& shader,
|
| SkShader::TileMode tm,
|
| const SkMatrix* localMatrix) {
|
| @@ -1355,12 +1372,14 @@ GrFragmentProcessor* Gr2PtConicalGradientEffect::Create(GrContext* ctx,
|
| SkScalar focalX;
|
| ConicalType type = set_matrix_focal_conical(shader, &matrix, &focalX);
|
| if (type == kInside_ConicalType) {
|
| - return FocalInside2PtConicalEffect::Create(ctx, shader, matrix, tm, focalX);
|
| + return FocalInside2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm,
|
| + focalX);
|
| } else if(type == kEdge_ConicalType) {
|
| set_matrix_edge_conical(shader, &matrix);
|
| - return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
|
| + return Edge2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm);
|
| } else {
|
| - return FocalOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, focalX);
|
| + return FocalOutside2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm,
|
| + focalX);
|
| }
|
| }
|
|
|
| @@ -1368,12 +1387,14 @@ GrFragmentProcessor* Gr2PtConicalGradientEffect::Create(GrContext* ctx,
|
| ConicalType type = set_matrix_circle_conical(shader, &matrix, &info);
|
|
|
| if (type == kInside_ConicalType) {
|
| - return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, info);
|
| + return CircleInside2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm,
|
| + info);
|
| } else if (type == kEdge_ConicalType) {
|
| set_matrix_edge_conical(shader, &matrix);
|
| - return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
|
| + return Edge2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm);
|
| } else {
|
| - return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, info);
|
| + return CircleOutside2PtConicalEffect::Create(ctx, shaderDataManager, shader, matrix, tm,
|
| + info);
|
| }
|
| }
|
|
|
|
|