Make GrBicubicEffect also support centripetal Catmull-Rom kernel.
Use in GrSurface::rescale().
Second time trying this.
Change-Id: I9cd6f83e1e1a06da9297cd1f3843c8b66ab71bb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299016
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrSurfaceContext.cpp b/src/gpu/GrSurfaceContext.cpp
index b7c667f..e3b1e28 100644
--- a/src/gpu/GrSurfaceContext.cpp
+++ b/src/gpu/GrSurfaceContext.cpp
@@ -608,9 +608,10 @@
} else if (nextDims.height() == srcRect.height()) {
dir = GrBicubicEffect::Direction::kX;
}
- static constexpr GrSamplerState::WrapMode kWM = GrSamplerState::WrapMode::kClamp;
+ static constexpr auto kWM = GrSamplerState::WrapMode::kClamp;
+ static constexpr auto kKernel = GrBicubicEffect::Kernel::kCatmullRom;
fp = GrBicubicEffect::MakeSubset(std::move(texView), prevAlphaType, matrix, kWM, kWM,
- SkRect::Make(srcRect), dir, *this->caps());
+ SkRect::Make(srcRect), kKernel, dir, *this->caps());
if (xform) {
fp = GrColorSpaceXformEffect::Make(std::move(fp), std::move(xform));
}