| Index: src/gpu/effects/GrBicubicEffect.h
|
| diff --git a/src/gpu/effects/GrBicubicEffect.h b/src/gpu/effects/GrBicubicEffect.h
|
| index b81c93e0a1c43bd379dfb992d609a0c7950f1f33..11075f2398b79ed6b8513fb66dd443ceca208cf4 100644
|
| --- a/src/gpu/effects/GrBicubicEffect.h
|
| +++ b/src/gpu/effects/GrBicubicEffect.h
|
| @@ -36,15 +36,16 @@ public:
|
| /**
|
| * Create a simple filter effect with custom bicubic coefficients and optional domain.
|
| */
|
| - static GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
|
| - const SkRect* domain = NULL) {
|
| + static GrFragmentProcessor* Create(GrProcessorDataManager* procDataManager, GrTexture* tex,
|
| + const SkScalar coefficients[16],
|
| + const SkRect* domain = NULL) {
|
| if (NULL == domain) {
|
| static const SkShader::TileMode kTileModes[] = { SkShader::kClamp_TileMode,
|
| SkShader::kClamp_TileMode };
|
| - return Create(tex, coefficients, GrCoordTransform::MakeDivByTextureWHMatrix(tex),
|
| - kTileModes);
|
| + return Create(procDataManager, tex, coefficients,
|
| + GrCoordTransform::MakeDivByTextureWHMatrix(tex), kTileModes);
|
| } else {
|
| - return SkNEW_ARGS(GrBicubicEffect, (tex, coefficients,
|
| + return SkNEW_ARGS(GrBicubicEffect, (procDataManager, tex, coefficients,
|
| GrCoordTransform::MakeDivByTextureWHMatrix(tex),
|
| *domain));
|
| }
|
| @@ -53,27 +54,29 @@ public:
|
| /**
|
| * Create a Mitchell filter effect with specified texture matrix and x/y tile modes.
|
| */
|
| - static GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
|
| - SkShader::TileMode tileModes[2]) {
|
| - return Create(tex, gMitchellCoefficients, matrix, tileModes);
|
| + static GrFragmentProcessor* Create(GrProcessorDataManager* procDataManager, GrTexture* tex,
|
| + const SkMatrix& matrix,
|
| + SkShader::TileMode tileModes[2]) {
|
| + return Create(procDataManager, tex, gMitchellCoefficients, matrix, tileModes);
|
| }
|
|
|
| /**
|
| * Create a filter effect with custom bicubic coefficients, the texture matrix, and the x/y
|
| * tilemodes.
|
| */
|
| - static GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
|
| - const SkMatrix& matrix,
|
| + static GrFragmentProcessor* Create(GrProcessorDataManager* procDataManager, GrTexture* tex,
|
| + const SkScalar coefficients[16], const SkMatrix& matrix,
|
| const SkShader::TileMode tileModes[2]) {
|
| - return SkNEW_ARGS(GrBicubicEffect, (tex, coefficients, matrix, tileModes));
|
| + return SkNEW_ARGS(GrBicubicEffect, (procDataManager, tex, coefficients, matrix, tileModes));
|
| }
|
|
|
| /**
|
| * Create a Mitchell filter effect with a texture matrix and a domain.
|
| */
|
| - static GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
|
| - const SkRect& domain) {
|
| - return SkNEW_ARGS(GrBicubicEffect, (tex, gMitchellCoefficients, matrix, domain));
|
| + static GrFragmentProcessor* Create(GrProcessorDataManager* procDataManager, GrTexture* tex,
|
| + const SkMatrix& matrix, const SkRect& domain) {
|
| + return SkNEW_ARGS(GrBicubicEffect, (procDataManager, tex, gMitchellCoefficients, matrix,
|
| + domain));
|
| }
|
|
|
| /**
|
| @@ -87,9 +90,9 @@ public:
|
| GrTextureParams::FilterMode* filterMode);
|
|
|
| private:
|
| - GrBicubicEffect(GrTexture*, const SkScalar coefficients[16],
|
| + GrBicubicEffect(GrProcessorDataManager*, GrTexture*, const SkScalar coefficients[16],
|
| const SkMatrix &matrix, const SkShader::TileMode tileModes[2]);
|
| - GrBicubicEffect(GrTexture*, const SkScalar coefficients[16],
|
| + GrBicubicEffect(GrProcessorDataManager*, GrTexture*, const SkScalar coefficients[16],
|
| const SkMatrix &matrix, const SkRect& domain);
|
| bool onIsEqual(const GrFragmentProcessor&) const override;
|
|
|
|
|