aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapController.cpp
diff options
context:
space:
mode:
authorGravatar fmalita <fmalita@chromium.org>2015-12-09 07:18:16 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-09 07:18:16 -0800
commit3e2f5624b4d033f9adbc1c1bc392fac8aa2d2c77 (patch)
treecc5a89dfc731ef1f23690b500bad319c336567c4 /src/core/SkBitmapController.cpp
parent07073642eb471d84aa56b5f695f129d793556eaf (diff)
Cap filtering to kMedium_SkFilterQuality when downsampling
R=reed@google.com Review URL: https://codereview.chromium.org/1510673002
Diffstat (limited to 'src/core/SkBitmapController.cpp')
-rw-r--r--src/core/SkBitmapController.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/SkBitmapController.cpp b/src/core/SkBitmapController.cpp
index 233e81146f..7182ea7382 100644
--- a/src/core/SkBitmapController.cpp
+++ b/src/core/SkBitmapController.cpp
@@ -100,6 +100,12 @@ bool SkDefaultBitmapControllerState::processHQRequest(const SkBitmapProvider& pr
if (SkScalarNearlyEqual(invScaleX, 1) && SkScalarNearlyEqual(invScaleY, 1)) {
return false; // no need for HQ
}
+
+#ifndef SK_SUPPORT_LEGACY_HQ_DOWNSAMPLING
+ if (invScaleX > 1 || invScaleY > 1) {
+ return false; // only use HQ when upsampling
+ }
+#endif
const int dstW = SkScalarRoundToScalar(provider.width() / invScaleX);
const int dstH = SkScalarRoundToScalar(provider.height() / invScaleY);