diff options
author | Brian Salomon <bsalomon@google.com> | 2017-07-28 07:34:05 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-28 11:54:47 +0000 |
commit | 3f6f965a5a65415c65fe9e64eb41896c66da771d (patch) | |
tree | 1de139167492fd077527517356bbf1f3298a9800 /src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h | |
parent | 71603cca8ec779bb3ad5ad18a3dc69e97910fb7c (diff) |
Implement clone for 6 additional GrFragmentProcessor subclasses.
GrMagnifierEffect
GrMorphologyEffect
GrBicubicEffect
GrGaussianConvolutionFragmentProcessor
GrMatrixConvolutionEffect
GrTextureDomainEffect
Bug: skia:
Change-Id: I69721b9b95346b365723e5ee21dff2dee8884466
Reviewed-on: https://skia-review.googlesource.com/27900
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h')
-rw-r--r-- | src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h b/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h index bdc4384a2c..74e9a94c2d 100644 --- a/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h +++ b/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h @@ -32,8 +32,6 @@ public: std::move(proxy), dir, halfWidth, gaussianSigma, mode, bounds)); } - ~GrGaussianConvolutionFragmentProcessor() override; - const float* kernel() const { return fKernel; } const int* bounds() const { return fBounds; } @@ -46,6 +44,10 @@ public: const char* name() const override { return "GaussianConvolution"; } + sk_sp<GrFragmentProcessor> clone() const override { + return sk_sp<GrFragmentProcessor>(new GrGaussianConvolutionFragmentProcessor(*this)); + } + // This was decided based on the min allowed value for the max texture // samples per fragment program run in DX9SM2 (32). A sigma param of 4.0 // on a blur filter gives a kernel width of 25 while a sigma of 5.0 @@ -61,6 +63,8 @@ private: int halfWidth, float gaussianSigma, GrTextureDomain::Mode mode, int bounds[2]); + explicit GrGaussianConvolutionFragmentProcessor(const GrGaussianConvolutionFragmentProcessor&); + GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; |