Remove legacy RP bicubic code
Google3 and chromium have both updated, so this is unused
Cq-Include-Trybots: luci.skia.skia.primary:Canary-Chromium,Canary-G3
Change-Id: I1e6abe0db90a7163f222cc4243e68485b6b2f925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/521839
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/opts/SkRasterPipeline_opts.h b/src/opts/SkRasterPipeline_opts.h
index bcddd7b..e18330f 100644
--- a/src/opts/SkRasterPipeline_opts.h
+++ b/src/opts/SkRasterPipeline_opts.h
@@ -2658,35 +2658,17 @@
return mad(t, mad(t, mad(t, D, C), B), A);
}
-#if defined(SK_LEGACY_RP_BICUBIC)
-SI F bicubic_near(F t) {
- // 1/18 + 9/18t + 27/18t^2 - 21/18t^3 == t ( t ( -21/18t + 27/18) + 9/18) + 1/18
- return mad(t, mad(t, mad((-21/18.0f), t, (27/18.0f)), (9/18.0f)), (1/18.0f));
-}
-SI F bicubic_far(F t) {
- // 0/18 + 0/18*t - 6/18t^2 + 7/18t^3 == t^2 (7/18t - 6/18)
- return (t*t)*mad((7/18.0f), t, (-6/18.0f));
-}
-#endif
-
template <int kScale>
SI void bicubic_x(SkRasterPipeline_SamplerCtx* ctx, F* x) {
*x = sk_unaligned_load<F>(ctx->x) + (kScale * 0.5f);
F fx = sk_unaligned_load<F>(ctx->fx);
F scalex;
-#if defined(SK_LEGACY_RP_BICUBIC)
- if (kScale == -3) { scalex = bicubic_far (1.0f - fx); }
- if (kScale == -1) { scalex = bicubic_near(1.0f - fx); }
- if (kScale == +1) { scalex = bicubic_near( fx); }
- if (kScale == +3) { scalex = bicubic_far ( fx); }
-#else
const float* w = ctx->weights;
if (kScale == -3) { scalex = bicubic_wts(fx, w[0], w[4], w[ 8], w[12]); }
if (kScale == -1) { scalex = bicubic_wts(fx, w[1], w[5], w[ 9], w[13]); }
if (kScale == +1) { scalex = bicubic_wts(fx, w[2], w[6], w[10], w[14]); }
if (kScale == +3) { scalex = bicubic_wts(fx, w[3], w[7], w[11], w[15]); }
-#endif
sk_unaligned_store(ctx->scalex, scalex);
}
template <int kScale>
@@ -2695,18 +2677,11 @@
F fy = sk_unaligned_load<F>(ctx->fy);
F scaley;
-#if defined(SK_LEGACY_RP_BICUBIC)
- if (kScale == -3) { scaley = bicubic_far (1.0f - fy); }
- if (kScale == -1) { scaley = bicubic_near(1.0f - fy); }
- if (kScale == +1) { scaley = bicubic_near( fy); }
- if (kScale == +3) { scaley = bicubic_far ( fy); }
-#else
const float* w = ctx->weights;
if (kScale == -3) { scaley = bicubic_wts(fy, w[0], w[4], w[ 8], w[12]); }
if (kScale == -1) { scaley = bicubic_wts(fy, w[1], w[5], w[ 9], w[13]); }
if (kScale == +1) { scaley = bicubic_wts(fy, w[2], w[6], w[10], w[14]); }
if (kScale == +3) { scaley = bicubic_wts(fy, w[3], w[7], w[11], w[15]); }
-#endif
sk_unaligned_store(ctx->scaley, scaley);
}
@@ -2810,10 +2785,6 @@
STAGE(bicubic, SkRasterPipeline_SamplerCtx2* ctx) {
F x = r, fx = fract(x + 0.5f),
y = g, fy = fract(y + 0.5f);
-#if defined(SK_LEGACY_RP_BICUBIC)
- const F wx[] = { bicubic_far(1-fx), bicubic_near(1-fx), bicubic_near(fx), bicubic_far(fx) };
- const F wy[] = { bicubic_far(1-fy), bicubic_near(1-fy), bicubic_near(fy), bicubic_far(fy) };
-#else
const float* w = ctx->weights;
const F wx[] = {bicubic_wts(fx, w[0], w[4], w[ 8], w[12]),
bicubic_wts(fx, w[1], w[5], w[ 9], w[13]),
@@ -2823,7 +2794,6 @@
bicubic_wts(fy, w[1], w[5], w[ 9], w[13]),
bicubic_wts(fy, w[2], w[6], w[10], w[14]),
bicubic_wts(fy, w[3], w[7], w[11], w[15])};
-#endif
sampler(ctx, x,y, wx,wy, &r,&g,&b,&a);
}
@@ -2884,16 +2854,6 @@
// We'll accumulate the color of all four samples into {r,g,b,a} directly.
r = g = b = a = 0;
-#if defined(SK_LEGACY_RP_BICUBIC)
- const F scaley[4] = {
- bicubic_far (1.0f - fy), bicubic_near(1.0f - fy),
- bicubic_near( fy), bicubic_far ( fy),
- };
- const F scalex[4] = {
- bicubic_far (1.0f - fx), bicubic_near(1.0f - fx),
- bicubic_near( fx), bicubic_far ( fx),
- };
-#else
const float* w = ctx->weights;
const F scaley[4] = {bicubic_wts(fy, w[0], w[4], w[ 8], w[12]),
bicubic_wts(fy, w[1], w[5], w[ 9], w[13]),
@@ -2903,7 +2863,6 @@
bicubic_wts(fx, w[1], w[5], w[ 9], w[13]),
bicubic_wts(fx, w[2], w[6], w[10], w[14]),
bicubic_wts(fx, w[3], w[7], w[11], w[15])};
-#endif
F sample_y = cy - 1.5f;
for (int yy = 0; yy <= 3; ++yy) {
diff --git a/src/shaders/SkImageShader.cpp b/src/shaders/SkImageShader.cpp
index 5d588ff..998ae3b 100755
--- a/src/shaders/SkImageShader.cpp
+++ b/src/shaders/SkImageShader.cpp
@@ -180,15 +180,6 @@
fTileModeX != SkTileMode::kDecal && fTileModeY != SkTileMode::kDecal;
}
-#if defined(SK_LEGACY_RP_BICUBIC)
-constexpr SkCubicResampler kDefaultCubicResampler{1.0f/3, 1.0f/3};
-
-static bool is_default_cubic_resampler(SkCubicResampler cubic) {
- return SkScalarNearlyEqual(cubic.B, kDefaultCubicResampler.B) &&
- SkScalarNearlyEqual(cubic.C, kDefaultCubicResampler.C);
-}
-#endif
-
#ifdef SK_ENABLE_LEGACY_SHADERCONTEXT
static bool legacy_shader_can_handle(const SkMatrix& inv) {
@@ -485,12 +476,6 @@
if (sampling.mipmap == SkMipmapMode::kLinear) {
return false;
}
-#if defined(SK_LEGACY_RP_BICUBIC)
- if (sampling.useCubic && !is_default_cubic_resampler(sampling.cubic)) {
- return false;
- }
-#endif
-
if (updater && (sampling.mipmap != SkMipmapMode::kNone)) {
// TODO: medium: recall RequestBitmap and update width/height accordingly
return false;