diff options
author | fmalita <fmalita@chromium.org> | 2015-12-09 07:18:16 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-09 07:18:16 -0800 |
commit | 3e2f5624b4d033f9adbc1c1bc392fac8aa2d2c77 (patch) | |
tree | cc5a89dfc731ef1f23690b500bad319c336567c4 /src/core/SkBitmapController.cpp | |
parent | 07073642eb471d84aa56b5f695f129d793556eaf (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.cpp | 6 |
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); |