aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar wangyix <wangyix@google.com>2015-08-04 07:59:37 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-08-04 07:59:37 -0700
commit4b3050b410254d0cb38df9a30ae2e209124fa1a2 (patch)
tree060bac88523db4058c11c364319ace7368749848 /src/effects
parentc369348aa596d7be05c9ce0ca5d349e5d1903789 (diff)
Added registerChild; transforms, textures, glKey automatically handled.
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkAlphaThresholdFilter.cpp6
-rw-r--r--src/effects/SkArithmeticMode_gpu.cpp2
-rw-r--r--src/effects/SkArithmeticMode_gpu.h4
-rw-r--r--src/effects/SkBlurMaskFilter.cpp17
-rw-r--r--src/effects/SkColorCubeFilter.cpp8
-rw-r--r--src/effects/SkColorFilters.cpp10
-rw-r--r--src/effects/SkColorMatrixFilter.cpp10
-rw-r--r--src/effects/SkDisplacementMapEffect.cpp10
-rw-r--r--src/effects/SkLightingImageFilter.cpp12
-rw-r--r--src/effects/SkLightingShader.cpp2
-rw-r--r--src/effects/SkLumaColorFilter.cpp10
-rw-r--r--src/effects/SkMagnifierImageFilter.cpp6
-rw-r--r--src/effects/SkMorphologyImageFilter.cpp6
-rw-r--r--src/effects/SkPerlinNoiseShader.cpp10
-rw-r--r--src/effects/SkTableColorFilter.cpp6
-rw-r--r--src/effects/gradients/SkLinearGradient.cpp11
-rw-r--r--src/effects/gradients/SkRadialGradient.cpp10
-rw-r--r--src/effects/gradients/SkSweepGradient.cpp11
-rw-r--r--src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp32
19 files changed, 93 insertions, 90 deletions
diff --git a/src/effects/SkAlphaThresholdFilter.cpp b/src/effects/SkAlphaThresholdFilter.cpp
index dda265d8bf..fd7e5c35ae 100644
--- a/src/effects/SkAlphaThresholdFilter.cpp
+++ b/src/effects/SkAlphaThresholdFilter.cpp
@@ -81,8 +81,6 @@ public:
float innerThreshold() const { return fInnerThreshold; }
float outerThreshold() const { return fOuterThreshold; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
private:
@@ -108,6 +106,8 @@ private:
this->addTextureAccess(&fMaskTextureAccess);
}
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -208,7 +208,7 @@ GrFragmentProcessor* AlphaThresholdEffect::TestCreate(GrProcessorTestData* d) {
///////////////////////////////////////////////////////////////////////////////
-void AlphaThresholdEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void AlphaThresholdEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GrGLAlphaThresholdEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkArithmeticMode_gpu.cpp b/src/effects/SkArithmeticMode_gpu.cpp
index d2bec6934e..08851cb7bd 100644
--- a/src/effects/SkArithmeticMode_gpu.cpp
+++ b/src/effects/SkArithmeticMode_gpu.cpp
@@ -112,7 +112,7 @@ GrArithmeticFP::GrArithmeticFP(GrProcessorDataManager*, float k1, float k2, floa
this->addTextureAccess(&fBackgroundAccess);
}
-void GrArithmeticFP::getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
+void GrArithmeticFP::onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
GLArithmeticFP::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkArithmeticMode_gpu.h b/src/effects/SkArithmeticMode_gpu.h
index b84df05e19..36f0f40024 100644
--- a/src/effects/SkArithmeticMode_gpu.h
+++ b/src/effects/SkArithmeticMode_gpu.h
@@ -42,8 +42,6 @@ public:
const char* name() const override { return "Arithmetic"; }
- void getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
float k1() const { return fK1; }
@@ -53,6 +51,8 @@ public:
bool enforcePMColor() const { return fEnforcePMColor; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp
index 6a1a857eef..18ac484a24 100644
--- a/src/effects/SkBlurMaskFilter.cpp
+++ b/src/effects/SkBlurMaskFilter.cpp
@@ -611,9 +611,6 @@ public:
const char* name() const override { return "RectBlur"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
/**
@@ -645,6 +642,10 @@ public:
private:
GrRectBlurEffect(const SkRect& rect, float sigma, GrTexture *blur_profile);
+
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -794,7 +795,7 @@ GrRectBlurEffect::GrRectBlurEffect(const SkRect& rect, float sigma,
GrRectBlurEffect::~GrRectBlurEffect() {
}
-void GrRectBlurEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void GrRectBlurEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GrGLRectBlurEffect::GenKey(*this, caps, b);
}
@@ -879,14 +880,14 @@ public:
const SkRRect& getRRect() const { return fRRect; }
float getSigma() const { return fSigma; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
private:
GrRRectBlurEffect(float sigma, const SkRRect&, GrTexture* profileTexture);
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override;
+
bool onIsEqual(const GrFragmentProcessor& other) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -1094,7 +1095,7 @@ void GrGLRRectBlurEffect::setData(const GrGLProgramDataManager& pdman,
pdman.set1f(fCornerRadiusUniform, radius);
}
-void GrRRectBlurEffect::getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
+void GrRRectBlurEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
GrGLRRectBlurEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkColorCubeFilter.cpp b/src/effects/SkColorCubeFilter.cpp
index eeffb08733..3b7c75fa7f 100644
--- a/src/effects/SkColorCubeFilter.cpp
+++ b/src/effects/SkColorCubeFilter.cpp
@@ -194,9 +194,6 @@ public:
const char* name() const override { return "ColorCube"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
int colorCubeSize() const { return fColorCubeAccess.getTexture()->width(); }
@@ -222,6 +219,9 @@ public:
};
private:
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override { return true; }
GrColorCubeEffect(GrTexture* colorCube);
@@ -242,7 +242,7 @@ GrColorCubeEffect::GrColorCubeEffect(GrTexture* colorCube)
GrColorCubeEffect::~GrColorCubeEffect() {
}
-void GrColorCubeEffect::getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
+void GrColorCubeEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
GLProcessor::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp
index 13ef7c6dfd..bda3d9ad88 100644
--- a/src/effects/SkColorFilters.cpp
+++ b/src/effects/SkColorFilters.cpp
@@ -147,11 +147,6 @@ public:
return true;
}
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GLProcessor::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GLProcessor, (*this));
}
@@ -220,6 +215,11 @@ private:
this->initClassID<ModeColorFilterEffect>();
}
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GLProcessor::GenKey(*this, caps, b);
+ }
+
bool onIsEqual(const GrFragmentProcessor& other) const override {
const ModeColorFilterEffect& s = other.cast<ModeColorFilterEffect>();
return fMode == s.fMode && fColor == s.fColor;
diff --git a/src/effects/SkColorMatrixFilter.cpp b/src/effects/SkColorMatrixFilter.cpp
index d0bd1625ac..0f90349b2b 100644
--- a/src/effects/SkColorMatrixFilter.cpp
+++ b/src/effects/SkColorMatrixFilter.cpp
@@ -394,11 +394,6 @@ public:
const char* name() const override { return "Color Matrix"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GLProcessor::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GLProcessor, (*this));
}
@@ -471,6 +466,11 @@ private:
this->initClassID<ColorMatrixEffect>();
}
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GLProcessor::GenKey(*this, caps, b);
+ }
+
bool onIsEqual(const GrFragmentProcessor& s) const override {
const ColorMatrixEffect& cme = s.cast<ColorMatrixEffect>();
return cme.fMatrix == fMatrix;
diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/SkDisplacementMapEffect.cpp
index fa61da97ca..c303301714 100644
--- a/src/effects/SkDisplacementMapEffect.cpp
+++ b/src/effects/SkDisplacementMapEffect.cpp
@@ -344,11 +344,6 @@ public:
virtual ~GrDisplacementMapEffect();
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GrGLDisplacementMapEffect::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GrGLDisplacementMapEffect, (*this));
}
@@ -363,6 +358,11 @@ public:
const GrTextureDomain& domain() const { return fDomain; }
private:
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GrGLDisplacementMapEffect::GenKey(*this, caps, b);
+ }
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp
index 898b094a6b..0b5e3e8fd0 100644
--- a/src/effects/SkLightingImageFilter.cpp
+++ b/src/effects/SkLightingImageFilter.cpp
@@ -533,13 +533,13 @@ public:
const char* name() const override { return "DiffuseLighting"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
SkScalar kd() const { return fKD; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
GrDiffuseLightingEffect(GrProcessorDataManager*,
@@ -577,14 +577,14 @@ public:
const char* name() const override { return "SpecularLighting"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
SkScalar ks() const { return fKS; }
SkScalar shininess() const { return fShininess; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
GrSpecularLightingEffect(GrProcessorDataManager*,
@@ -1612,7 +1612,7 @@ bool GrDiffuseLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const
this->kd() == s.kd();
}
-void GrDiffuseLightingEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void GrDiffuseLightingEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GrGLDiffuseLightingEffect::GenKey(*this, caps, b);
}
@@ -1814,7 +1814,7 @@ bool GrSpecularLightingEffect::onIsEqual(const GrFragmentProcessor& sBase) const
this->shininess() == s.shininess();
}
-void GrSpecularLightingEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void GrSpecularLightingEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GrGLSpecularLightingEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkLightingShader.cpp b/src/effects/SkLightingShader.cpp
index 4dcfa527f9..6ed9874639 100644
--- a/src/effects/SkLightingShader.cpp
+++ b/src/effects/SkLightingShader.cpp
@@ -227,7 +227,7 @@ public:
GrGLFragmentProcessor* createGLInstance() const override { return SkNEW(LightingGLFP); }
- void getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override {
+ void onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override {
LightingGLFP::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkLumaColorFilter.cpp b/src/effects/SkLumaColorFilter.cpp
index 34cfdad102..939accf13b 100644
--- a/src/effects/SkLumaColorFilter.cpp
+++ b/src/effects/SkLumaColorFilter.cpp
@@ -65,11 +65,6 @@ public:
const char* name() const override { return "Luminance-to-Alpha"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GLProcessor::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GLProcessor, (*this));
}
@@ -105,6 +100,11 @@ private:
this->initClassID<LumaColorFilterEffect>();
}
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GLProcessor::GenKey(*this, caps, b);
+ }
+
bool onIsEqual(const GrFragmentProcessor&) const override { return true; }
void onComputeInvariantOutput(GrInvariantOutput* inout) const override {
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp
index a397689ef8..e0edb4a75c 100644
--- a/src/effects/SkMagnifierImageFilter.cpp
+++ b/src/effects/SkMagnifierImageFilter.cpp
@@ -47,8 +47,6 @@ public:
const char* name() const override { return "Magnifier"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
const SkRect& bounds() const { return fBounds; } // Bounds of source image.
@@ -85,6 +83,8 @@ private:
this->initClassID<GrMagnifierEffect>();
}
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -190,7 +190,7 @@ void GrGLMagnifierEffect::setData(const GrGLProgramDataManager& pdman,
/////////////////////////////////////////////////////////////////////
-void GrMagnifierEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void GrMagnifierEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GrGLMagnifierEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp
index 20f76c1d93..eca5f00d0b 100644
--- a/src/effects/SkMorphologyImageFilter.cpp
+++ b/src/effects/SkMorphologyImageFilter.cpp
@@ -318,8 +318,6 @@ public:
const char* name() const override { return "Morphology"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
protected:
@@ -329,6 +327,8 @@ protected:
float fRange[2];
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -513,7 +513,7 @@ GrMorphologyEffect::GrMorphologyEffect(GrProcessorDataManager* procDataManager,
GrMorphologyEffect::~GrMorphologyEffect() {
}
-void GrMorphologyEffect::getGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
+void GrMorphologyEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const {
GrGLMorphologyEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/SkPerlinNoiseShader.cpp b/src/effects/SkPerlinNoiseShader.cpp
index dba1778418..989bdd143d 100644
--- a/src/effects/SkPerlinNoiseShader.cpp
+++ b/src/effects/SkPerlinNoiseShader.cpp
@@ -527,11 +527,6 @@ public:
const char* name() const override { return "PerlinNoise"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GrGLPerlinNoise::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GrGLPerlinNoise, (*this));
}
@@ -546,6 +541,11 @@ public:
uint8_t alpha() const { return fAlpha; }
private:
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GrGLPerlinNoise::GenKey(*this, caps, b);
+ }
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const GrPerlinNoiseEffect& s = sBase.cast<GrPerlinNoiseEffect>();
return fType == s.fType &&
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp
index 8314f30c43..d74337250a 100644
--- a/src/effects/SkTableColorFilter.cpp
+++ b/src/effects/SkTableColorFilter.cpp
@@ -348,14 +348,14 @@ public:
const char* name() const override { return "ColorTable"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
const GrTextureStripAtlas* atlas() const { return fAtlas; }
int atlasRow() const { return fRow; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor&) const override;
void onComputeInvariantOutput(GrInvariantOutput* inout) const override;
@@ -500,7 +500,7 @@ ColorTableEffect::~ColorTableEffect() {
}
}
-void ColorTableEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void ColorTableEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLColorTableEffect::GenKey(*this, caps, b);
}
diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp
index f6b6f6a9b5..7ca1b60420 100644
--- a/src/effects/gradients/SkLinearGradient.cpp
+++ b/src/effects/gradients/SkLinearGradient.cpp
@@ -495,11 +495,6 @@ public:
const char* name() const override { return "Linear Gradient"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GrGLLinearGradient::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GrGLLinearGradient, (*this));
}
@@ -513,6 +508,12 @@ private:
: INHERITED(ctx, procDataManager, shader, matrix, tm) {
this->initClassID<GrLinearGradient>();
}
+
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GrGLLinearGradient::GenKey(*this, caps, b);
+ }
+
GR_DECLARE_FRAGMENT_PROCESSOR_TEST;
typedef GrGradientEffect INHERITED;
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp
index 1976382bf2..4f97e268d5 100644
--- a/src/effects/gradients/SkRadialGradient.cpp
+++ b/src/effects/gradients/SkRadialGradient.cpp
@@ -468,11 +468,6 @@ public:
const char* name() const override { return "Radial Gradient"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GrGLRadialGradient::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GrGLRadialGradient, (*this));
}
@@ -487,6 +482,11 @@ private:
this->initClassID<GrRadialGradient>();
}
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GrGLRadialGradient::GenKey(*this, caps, b);
+ }
+
GR_DECLARE_FRAGMENT_PROCESSOR_TEST;
typedef GrGradientEffect INHERITED;
diff --git a/src/effects/gradients/SkSweepGradient.cpp b/src/effects/gradients/SkSweepGradient.cpp
index c3278b2392..4936d31505 100644
--- a/src/effects/gradients/SkSweepGradient.cpp
+++ b/src/effects/gradients/SkSweepGradient.cpp
@@ -214,11 +214,6 @@ public:
const char* name() const override { return "Sweep Gradient"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override {
- GrGLSweepGradient::GenKey(*this, caps, b);
- }
-
GrGLFragmentProcessor* createGLInstance() const override {
return SkNEW_ARGS(GrGLSweepGradient, (*this));
}
@@ -231,6 +226,12 @@ private:
: INHERITED(ctx, procDataManager, shader, matrix, SkShader::kClamp_TileMode) {
this->initClassID<GrSweepGradient>();
}
+
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override {
+ GrGLSweepGradient::GenKey(*this, caps, b);
+ }
+
GR_DECLARE_FRAGMENT_PROCESSOR_TEST;
typedef GrGradientEffect INHERITED;
diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
index 9461f13770..ffa60c80b1 100644
--- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
+++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
@@ -72,8 +72,6 @@ public:
return "Two-Point Conical Gradient Edge Touching";
}
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
// The radial gradient parameters can collapse to a linear (instead of quadratic) equation.
@@ -82,6 +80,8 @@ public:
SkScalar radius() const { return fRadius0; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>();
return (INHERITED::onIsEqual(sBase) &&
@@ -168,7 +168,7 @@ private:
};
-void Edge2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void Edge2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLEdge2PtConicalEffect::GenKey(*this, caps, b);
}
@@ -385,14 +385,14 @@ public:
return "Two-Point Conical Gradient Focal Outside";
}
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
bool isFlipped() const { return fIsFlipped; }
SkScalar focal() const { return fFocalX; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConicalEffect>();
return (INHERITED::onIsEqual(sBase) &&
@@ -450,7 +450,7 @@ private:
};
-void FocalOutside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void FocalOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLFocalOutside2PtConicalEffect::GenKey(*this, caps, b);
}
@@ -601,8 +601,6 @@ public:
return "Two-Point Conical Gradient Focal Inside";
}
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
SkScalar focal() const { return fFocalX; }
@@ -610,6 +608,8 @@ public:
typedef GLFocalInside2PtConicalEffect GLProcessor;
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalEffect>();
return (INHERITED::onIsEqual(sBase) &&
@@ -661,7 +661,7 @@ private:
};
-void FocalInside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void FocalInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLFocalInside2PtConicalEffect::GenKey(*this, caps, b);
}
@@ -837,9 +837,6 @@ public:
const char* name() const override { return "Two-Point Conical Gradient Inside"; }
- virtual void getGLProcessorKey(const GrGLSLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
SkScalar centerX() const { return fInfo.fCenterEnd.fX; }
@@ -849,6 +846,9 @@ public:
SkScalar C() const { return fInfo.fC; }
private:
+ virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
+ GrProcessorKeyBuilder* b) const override;
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConicalEffect>();
return (INHERITED::onIsEqual(sBase) &&
@@ -908,7 +908,7 @@ private:
};
-void CircleInside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void CircleInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLCircleInside2PtConicalEffect::GenKey(*this, caps, b);
}
@@ -1053,8 +1053,6 @@ public:
const char* name() const override { return "Two-Point Conical Gradient Outside"; }
- void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
-
GrGLFragmentProcessor* createGLInstance() const override;
SkScalar centerX() const { return fInfo.fCenterEnd.fX; }
@@ -1066,6 +1064,8 @@ public:
bool isFlipped() const { return fIsFlipped; }
private:
+ void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const override;
+
bool onIsEqual(const GrFragmentProcessor& sBase) const override {
const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConicalEffect>();
return (INHERITED::onIsEqual(sBase) &&
@@ -1139,7 +1139,7 @@ private:
};
-void CircleOutside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps,
+void CircleOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps,
GrProcessorKeyBuilder* b) const {
GLCircleOutside2PtConicalEffect::GenKey(*this, caps, b);
}