| Index: src/effects/gradients/SkLinearGradient.cpp
|
| diff --git a/src/effects/gradients/SkLinearGradient.cpp b/src/effects/gradients/SkLinearGradient.cpp
|
| index 1faca5e4a1f2adec0488b3c2229e0103d35f8849..6d2abf543661e061f869d6bd0db9bd845c8b5fc3 100644
|
| --- a/src/effects/gradients/SkLinearGradient.cpp
|
| +++ b/src/effects/gradients/SkLinearGradient.cpp
|
| @@ -451,7 +451,6 @@ void SkLinearGradient::LinearGradientContext::shadeSpan16(int x, int y,
|
|
|
| #if SK_SUPPORT_GPU
|
|
|
| -#include "GrTBackendProcessorFactory.h"
|
| #include "gl/builders/GrGLProgramBuilder.h"
|
| #include "SkGr.h"
|
|
|
| @@ -460,8 +459,7 @@ void SkLinearGradient::LinearGradientContext::shadeSpan16(int x, int y,
|
| class GrGLLinearGradient : public GrGLGradientEffect {
|
| public:
|
|
|
| - GrGLLinearGradient(const GrBackendProcessorFactory& factory, const GrProcessor&)
|
| - : INHERITED (factory) { }
|
| + GrGLLinearGradient(const GrProcessor&) {}
|
|
|
| virtual ~GrGLLinearGradient() { }
|
|
|
| @@ -495,9 +493,21 @@ public:
|
|
|
| virtual ~GrLinearGradient() { }
|
|
|
| - static const char* Name() { return "Linear Gradient"; }
|
| - const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERRIDE {
|
| - return GrTBackendFragmentProcessorFactory<GrLinearGradient>::getInstance();
|
| + virtual const char* name() const { return "Linear Gradient"; }
|
| +
|
| + virtual void getGLProcessorKey(const GrGLCaps& caps,
|
| + GrProcessorKeyBuilder* b) const SK_OVERRIDE {
|
| + GrGLLinearGradient::GenKey(*this, caps, b);
|
| + }
|
| +
|
| + virtual GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE {
|
| + return SkNEW_ARGS(GrGLLinearGradient, (*this));
|
| + }
|
| +
|
| +
|
| + virtual uint32_t classID() const {
|
| + static uint32_t id = GenClassID();
|
| + return id;
|
| }
|
|
|
| typedef GrGLLinearGradient GLProcessor;
|
| @@ -547,7 +557,7 @@ void GrGLLinearGradient::emitCode(GrGLFPBuilder* builder,
|
| const char* inputColor,
|
| const TransformedCoordsArray& coords,
|
| const TextureSamplerArray& samplers) {
|
| - const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
|
| + const GrLinearGradient& ge = fp.cast<GrLinearGradient>();
|
| this->emitUniforms(builder, ge);
|
| SkString t = builder->getFragmentShaderBuilder()->ensureFSCoords2D(coords, 0);
|
| t.append(".x");
|
|
|