| Index: src/effects/SkPerlinNoiseShader.cpp
|
| diff --git a/src/effects/SkPerlinNoiseShader.cpp b/src/effects/SkPerlinNoiseShader.cpp
|
| index 8c608fa0366c134dae85d1a4d2178be59dd9a1d5..ebe6159c3762db8f64c7a8753f712de98914ec16 100644
|
| --- a/src/effects/SkPerlinNoiseShader.cpp
|
| +++ b/src/effects/SkPerlinNoiseShader.cpp
|
| @@ -18,10 +18,9 @@
|
| #include "GrContext.h"
|
| #include "GrCoordTransform.h"
|
| #include "GrInvariantOutput.h"
|
| +#include "SkGr.h"
|
| #include "gl/GrGLProcessor.h"
|
| #include "gl/builders/GrGLProgramBuilder.h"
|
| -#include "GrTBackendProcessorFactory.h"
|
| -#include "SkGr.h"
|
| #endif
|
|
|
| static const int kBlockSize = 256;
|
| @@ -487,12 +486,9 @@ void SkPerlinNoiseShader::PerlinNoiseShaderContext::shadeSpan16(
|
|
|
| #if SK_SUPPORT_GPU
|
|
|
| -#include "GrTBackendProcessorFactory.h"
|
| -
|
| class GrGLPerlinNoise : public GrGLFragmentProcessor {
|
| public:
|
| - GrGLPerlinNoise(const GrBackendProcessorFactory&,
|
| - const GrProcessor&);
|
| + GrGLPerlinNoise(const GrProcessor&);
|
| virtual ~GrGLPerlinNoise() {}
|
|
|
| virtual void emitCode(GrGLFPBuilder*,
|
| @@ -536,10 +532,17 @@ public:
|
| SkDELETE(fPaintingData);
|
| }
|
|
|
| - static const char* Name() { return "PerlinNoise"; }
|
| - virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERRIDE {
|
| - return GrTBackendFragmentProcessorFactory<GrPerlinNoiseEffect>::getInstance();
|
| + virtual const char* name() const SK_OVERRIDE { return "PerlinNoise"; }
|
| +
|
| + virtual void getGLProcessorKey(const GrGLCaps& caps,
|
| + GrProcessorKeyBuilder* b) const SK_OVERRIDE {
|
| + GrGLPerlinNoise::GenKey(*this, caps, b);
|
| + }
|
| +
|
| + virtual GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE {
|
| + return SkNEW_ARGS(GrGLPerlinNoise, (*this));
|
| }
|
| +
|
| const SkPerlinNoiseShader::StitchData& stitchData() const { return fPaintingData->fStitchDataInit; }
|
|
|
| SkPerlinNoiseShader::Type type() const { return fType; }
|
| @@ -549,8 +552,6 @@ public:
|
| const SkMatrix& matrix() const { return fCoordTransform.getMatrix(); }
|
| uint8_t alpha() const { return fAlpha; }
|
|
|
| - typedef GrGLPerlinNoise GLProcessor;
|
| -
|
| private:
|
| virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
|
| const GrPerlinNoiseEffect& s = sBase.cast<GrPerlinNoiseEffect>();
|
| @@ -578,6 +579,7 @@ private:
|
| , fPermutationsAccess(permutationsTexture)
|
| , fNoiseAccess(noiseTexture)
|
| , fPaintingData(paintingData) {
|
| + this->initClassID<GrPerlinNoiseEffect>();
|
| this->addTextureAccess(&fPermutationsAccess);
|
| this->addTextureAccess(&fNoiseAccess);
|
| fCoordTransform.reset(kLocal_GrCoordSet, matrix);
|
| @@ -631,10 +633,8 @@ GrFragmentProcessor* GrPerlinNoiseEffect::TestCreate(SkRandom* random,
|
| return effect;
|
| }
|
|
|
| -GrGLPerlinNoise::GrGLPerlinNoise(const GrBackendProcessorFactory& factory,
|
| - const GrProcessor& processor)
|
| - : INHERITED (factory)
|
| - , fType(processor.cast<GrPerlinNoiseEffect>().type())
|
| +GrGLPerlinNoise::GrGLPerlinNoise(const GrProcessor& processor)
|
| + : fType(processor.cast<GrPerlinNoiseEffect>().type())
|
| , fStitchTiles(processor.cast<GrPerlinNoiseEffect>().stitchTiles())
|
| , fNumOctaves(processor.cast<GrPerlinNoiseEffect>().numOctaves()) {
|
| }
|
|
|