Index: src/core/SkBitmapController.cpp |
diff --git a/src/core/SkBitmapController.cpp b/src/core/SkBitmapController.cpp |
index 233e81146f0e308260b6584567ffb0148c3a9d9b..7182ea73829af66461d61c98dc75addb228777f0 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); |