| Index: src/gpu/effects/GrMatrixConvolutionEffect.cpp
|
| diff --git a/src/gpu/effects/GrMatrixConvolutionEffect.cpp b/src/gpu/effects/GrMatrixConvolutionEffect.cpp
|
| index b78c6379c84ccd4b53bf364f70ac0436ecc63989..d97766d1882c722f4c420b7a77e57981687a4e91 100644
|
| --- a/src/gpu/effects/GrMatrixConvolutionEffect.cpp
|
| +++ b/src/gpu/effects/GrMatrixConvolutionEffect.cpp
|
| @@ -14,18 +14,18 @@
|
| class GrGLMatrixConvolutionEffect : public GrGLEffect {
|
| public:
|
| GrGLMatrixConvolutionEffect(const GrBackendEffectFactory& factory,
|
| - const GrDrawEffect& effect);
|
| + const GrEffect& effect);
|
| virtual void emitCode(GrGLProgramBuilder*,
|
| - const GrDrawEffect&,
|
| + const GrEffect&,
|
| const GrEffectKey&,
|
| const char* outputColor,
|
| const char* inputColor,
|
| const TransformedCoordsArray&,
|
| const TextureSamplerArray&) SK_OVERRIDE;
|
|
|
| - static inline void GenKey(const GrDrawEffect&, const GrGLCaps&, GrEffectKeyBuilder*);
|
| + static inline void GenKey(const GrEffect&, const GrGLCaps&, GrEffectKeyBuilder*);
|
|
|
| - virtual void setData(const GrGLProgramDataManager&, const GrDrawEffect&) SK_OVERRIDE;
|
| + virtual void setData(const GrGLProgramDataManager&, const GrEffect&) SK_OVERRIDE;
|
|
|
| private:
|
| typedef GrGLProgramDataManager::UniformHandle UniformHandle;
|
| @@ -44,22 +44,23 @@ private:
|
| };
|
|
|
| GrGLMatrixConvolutionEffect::GrGLMatrixConvolutionEffect(const GrBackendEffectFactory& factory,
|
| - const GrDrawEffect& drawEffect)
|
| + const GrEffect& effect)
|
| : INHERITED(factory) {
|
| - const GrMatrixConvolutionEffect& m = drawEffect.castEffect<GrMatrixConvolutionEffect>();
|
| + const GrMatrixConvolutionEffect& m = GrEffect::CastEffect<GrMatrixConvolutionEffect>(effect);
|
| fKernelSize = m.kernelSize();
|
| fConvolveAlpha = m.convolveAlpha();
|
| }
|
|
|
| void GrGLMatrixConvolutionEffect::emitCode(GrGLProgramBuilder* builder,
|
| - const GrDrawEffect& drawEffect,
|
| + const GrEffect& effect,
|
| const GrEffectKey& key,
|
| const char* outputColor,
|
| const char* inputColor,
|
| const TransformedCoordsArray& coords,
|
| const TextureSamplerArray& samplers) {
|
| sk_ignore_unused_variable(inputColor);
|
| - const GrTextureDomain& domain = drawEffect.castEffect<GrMatrixConvolutionEffect>().domain();
|
| + const GrTextureDomain& domain =
|
| + GrEffect::CastEffect<GrMatrixConvolutionEffect>(effect).domain();
|
|
|
| fBoundsUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
|
| kVec4f_GrSLType, "Bounds");
|
| @@ -120,9 +121,9 @@ void GrGLMatrixConvolutionEffect::emitCode(GrGLProgramBuilder* builder,
|
| fsBuilder->codeAppend(modulate.c_str());
|
| }
|
|
|
| -void GrGLMatrixConvolutionEffect::GenKey(const GrDrawEffect& drawEffect,
|
| +void GrGLMatrixConvolutionEffect::GenKey(const GrEffect& effect,
|
| const GrGLCaps&, GrEffectKeyBuilder* b) {
|
| - const GrMatrixConvolutionEffect& m = drawEffect.castEffect<GrMatrixConvolutionEffect>();
|
| + const GrMatrixConvolutionEffect& m = GrEffect::CastEffect<GrMatrixConvolutionEffect>(effect);
|
| SkASSERT(m.kernelSize().width() <= 0x7FFF && m.kernelSize().height() <= 0xFFFF);
|
| uint32_t key = m.kernelSize().width() << 16 | m.kernelSize().height();
|
| key |= m.convolveAlpha() ? 1 << 31 : 0;
|
| @@ -131,8 +132,8 @@ void GrGLMatrixConvolutionEffect::GenKey(const GrDrawEffect& drawEffect,
|
| }
|
|
|
| void GrGLMatrixConvolutionEffect::setData(const GrGLProgramDataManager& pdman,
|
| - const GrDrawEffect& drawEffect) {
|
| - const GrMatrixConvolutionEffect& conv = drawEffect.castEffect<GrMatrixConvolutionEffect>();
|
| + const GrEffect& effect) {
|
| + const GrMatrixConvolutionEffect& conv = GrEffect::CastEffect<GrMatrixConvolutionEffect>(effect);
|
| GrTexture& texture = *conv.texture(0);
|
| // the code we generated was for a specific kernel size
|
| SkASSERT(conv.kernelSize() == fKernelSize);
|
| @@ -178,7 +179,7 @@ const GrBackendEffectFactory& GrMatrixConvolutionEffect::getFactory() const {
|
| }
|
|
|
| bool GrMatrixConvolutionEffect::onIsEqual(const GrEffect& sBase) const {
|
| - const GrMatrixConvolutionEffect& s = CastEffect<GrMatrixConvolutionEffect>(sBase);
|
| + const GrMatrixConvolutionEffect& s = GrEffect::CastEffect<GrMatrixConvolutionEffect>(sBase);
|
| return this->texture(0) == s.texture(0) &&
|
| fKernelSize == s.kernelSize() &&
|
| !memcmp(fKernel, s.kernel(),
|
|
|