Index: src/core/SkMipMap.cpp |
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp |
index 08602b7e00728b100d78862f76288a6afd4770f1..7266dc6b21192c16019c0277ea4387244033d209 100644 |
--- a/src/core/SkMipMap.cpp |
+++ b/src/core/SkMipMap.cpp |
@@ -320,11 +320,15 @@ SkMipMap* SkMipMap::Build(const SkPixmap& src, SkDiscardableFactoryProc fact) { |
/////////////////////////////////////////////////////////////////////////////// |
-bool SkMipMap::extractLevel(SkScalar scale, Level* levelPtr) const { |
+bool SkMipMap::extractLevel(const SkSize& scaleSize, Level* levelPtr) const { |
if (nullptr == fLevels) { |
return false; |
} |
+ SkASSERT(scaleSize.width() >= 0 && scaleSize.height() >= 0); |
+ // Use the smallest scale to match the GPU impl. |
+ const SkScalar scale = SkTMin(scaleSize.width(), scaleSize.height()); |
+ |
if (scale >= SK_Scalar1 || scale <= 0 || !SkScalarIsFinite(scale)) { |
return false; |
} |