More GrFragmentProcessor::clone() implementations.
GrSRGBEffect
EllipticalRRectEffect
CircularRRectEffect
GrNonlinearColorSpaceXformEffect
GrDeviceSpaceTextureDecalFragmentProcessor
Change-Id: I701fb7ed36e66414adba2eea73f6eed306691b49
Reviewed-on: https://skia-review.googlesource.com/26942
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/effects/GrTextureDomain.cpp b/src/gpu/effects/GrTextureDomain.cpp
index f2b7858..17ad223 100644
--- a/src/gpu/effects/GrTextureDomain.cpp
+++ b/src/gpu/effects/GrTextureDomain.cpp
@@ -344,6 +344,20 @@
this->initClassID<GrDeviceSpaceTextureDecalFragmentProcessor>();
}
+GrDeviceSpaceTextureDecalFragmentProcessor::GrDeviceSpaceTextureDecalFragmentProcessor(
+ const GrDeviceSpaceTextureDecalFragmentProcessor& that)
+ : INHERITED(kCompatibleWithCoverageAsAlpha_OptimizationFlag)
+ , fTextureSampler(that.fTextureSampler)
+ , fTextureDomain(that.fTextureDomain)
+ , fDeviceSpaceOffset(that.fDeviceSpaceOffset) {
+ this->initClassID<GrDeviceSpaceTextureDecalFragmentProcessor>();
+ this->addTextureSampler(&fTextureSampler);
+}
+
+sk_sp<GrFragmentProcessor> GrDeviceSpaceTextureDecalFragmentProcessor::clone() const {
+ return sk_sp<GrFragmentProcessor>(new GrDeviceSpaceTextureDecalFragmentProcessor(*this));
+}
+
GrGLSLFragmentProcessor* GrDeviceSpaceTextureDecalFragmentProcessor::onCreateGLSLInstance() const {
class GLSLProcessor : public GrGLSLFragmentProcessor {
public:
@@ -401,8 +415,8 @@
bool GrDeviceSpaceTextureDecalFragmentProcessor::onIsEqual(const GrFragmentProcessor& fp) const {
const GrDeviceSpaceTextureDecalFragmentProcessor& dstdfp =
fp.cast<GrDeviceSpaceTextureDecalFragmentProcessor>();
- return dstdfp.fTextureSampler.proxy()->underlyingUniqueID() ==
- fTextureSampler.proxy()->underlyingUniqueID() &&
+ return dstdfp.fTextureSampler.proxy()->underlyingUniqueID() ==
+ fTextureSampler.proxy()->underlyingUniqueID() &&
dstdfp.fDeviceSpaceOffset == fDeviceSpaceOffset &&
dstdfp.fTextureDomain == fTextureDomain;
}