aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar gen.kim <gen.kim@samsung.com>2015-05-10 18:33:29 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-05-10 18:33:29 -0700
commit88f12dbe926df806cfb5b0641f613a2e256a713b (patch)
tree05053a2c77d7250740e8b8b7c8755b1103a0d08b /src/core
parentc19cdc254cc08f334b00c3b9fdb703818c8ca681 (diff)
SkPictureShader: floor scaledSize not to exceed maxTextureSize
scaledSize becomes larger than maxTextureSize by zoom level because it is rounded. BUG=chromium:485916 Review URL: https://codereview.chromium.org/1129413002
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkPictureShader.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/SkPictureShader.cpp b/src/core/SkPictureShader.cpp
index e831320a7e..2c835ed93e 100644
--- a/src/core/SkPictureShader.cpp
+++ b/src/core/SkPictureShader.cpp
@@ -178,8 +178,8 @@ SkShader* SkPictureShader::refBitmapShader(const SkMatrix& matrix, const SkMatri
if (scaledSize.width() > maxTextureSize || scaledSize.height() > maxTextureSize) {
SkScalar downScale = SkScalarDiv(maxTextureSize,
SkMax32(scaledSize.width(), scaledSize.height()));
- scaledSize.set(SkScalarMul(scaledSize.width(), downScale),
- SkScalarMul(scaledSize.height(), downScale));
+ scaledSize.set(SkScalarFloorToScalar(SkScalarMul(scaledSize.width(), downScale)),
+ SkScalarFloorToScalar(SkScalarMul(scaledSize.height(), downScale)));
}
}
#endif