Move setSampleMatrix and setSampledWithExplicitCoords into child registration
Bug: skia:10396
Change-Id: I0c117ab4d95737b76dec5bce16103b9058218fb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297065
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/effects/GrMatrixConvolutionEffect.cpp b/src/gpu/effects/GrMatrixConvolutionEffect.cpp
index 1ad920e..04036d0 100644
--- a/src/gpu/effects/GrMatrixConvolutionEffect.cpp
+++ b/src/gpu/effects/GrMatrixConvolutionEffect.cpp
@@ -294,11 +294,9 @@
, fGain(SkScalarToFloat(gain))
, fBias(SkScalarToFloat(bias) / 255.0f)
, fConvolveAlpha(convolveAlpha) {
- child->setSampledWithExplicitCoords();
- this->registerChildProcessor(std::move(child));
+ this->registerExplicitlySampledChild(std::move(child));
if (kernelFP) {
- kernelFP->setSampledWithExplicitCoords();
- this->registerChildProcessor(std::move(kernelFP));
+ this->registerExplicitlySampledChild(std::move(kernelFP));
}
fKernelOffset = {static_cast<float>(kernelOffset.x()),
static_cast<float>(kernelOffset.y())};
@@ -312,14 +310,7 @@
, fBias(that.fBias)
, fKernelOffset(that.fKernelOffset)
, fConvolveAlpha(that.fConvolveAlpha) {
- auto child = that.childProcessor(0).clone();
- child->setSampledWithExplicitCoords();
- this->registerChildProcessor(std::move(child));
- if (fKernel.isSampled()) {
- child = that.childProcessor(1).clone();
- child->setSampledWithExplicitCoords();
- this->registerChildProcessor(std::move(child));
- }
+ this->cloneAndRegisterAllChildProcessors(that);
this->addCoordTransform(&fCoordTransform);
}