diff options
author | 2015-08-04 07:59:37 -0700 | |
---|---|---|
committer | 2015-08-04 07:59:37 -0700 | |
commit | 4b3050b410254d0cb38df9a30ae2e209124fa1a2 (patch) | |
tree | 060bac88523db4058c11c364319ace7368749848 /src/effects | |
parent | c369348aa596d7be05c9ce0ca5d349e5d1903789 (diff) |
Added registerChild; transforms, textures, glKey automatically handled.
BUG=skia:
Review URL: https://codereview.chromium.org/1266633003
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkAlphaThresholdFilter.cpp | 6 | ||||
-rw-r--r-- | src/effects/SkArithmeticMode_gpu.cpp | 2 | ||||
-rw-r--r-- | src/effects/SkArithmeticMode_gpu.h | 4 | ||||
-rw-r--r-- | src/effects/SkBlurMaskFilter.cpp | 17 | ||||
-rw-r--r-- | src/effects/SkColorCubeFilter.cpp | 8 | ||||
-rw-r--r-- | src/effects/SkColorFilters.cpp | 10 | ||||
-rw-r--r-- | src/effects/SkColorMatrixFilter.cpp | 10 | ||||
-rw-r--r-- | src/effects/SkDisplacementMapEffect.cpp | 10 | ||||
-rw-r--r-- | src/effects/SkLightingImageFilter.cpp | 12 | ||||
-rw-r--r-- | src/effects/SkLightingShader.cpp | 2 | ||||
-rw-r--r-- | src/effects/SkLumaColorFilter.cpp | 10 | ||||
-rw-r--r-- | src/effects/SkMagnifierImageFilter.cpp | 6 | ||||
-rw-r--r-- | src/effects/SkMorphologyImageFilter.cpp | 6 | ||||
-rw-r--r-- | src/effects/SkPerlinNoiseShader.cpp | 10 | ||||
-rw-r--r-- | src/effects/SkTableColorFilter.cpp | 6 | ||||
-rw-r--r-- | src/effects/gradients/SkLinearGradient.cpp | 11 | ||||
-rw-r--r-- | src/effects/gradients/SkRadialGradient.cpp | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkSweepGradient.cpp | 11 | ||||
-rw-r--r-- | src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp | 32 |
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); } |