Strength reduce bilerp to nearest neighbor when the matrix is integer translate.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4967

Change-Id: I986f5695660d198532f5b0b367868ae904de92a1
Reviewed-on: https://skia-review.googlesource.com/4967
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This commit is contained in:
Mike Klein 2016-11-17 14:04:22 -05:00 committed by Skia Commit-Bot
parent b446088690
commit 7776029b54

View File

@ -300,6 +300,13 @@ bool SkImageShader::onAppendStages(SkRasterPipeline* p, SkColorSpace* dst, SkFal
return false;
}
// When the matrix is just an integer translate, bilerp == nearest neighbor.
if (matrix.getType() <= SkMatrix::kTranslate_Mask &&
matrix.getTranslateX() == (int)matrix.getTranslateX() &&
matrix.getTranslateY() == (int)matrix.getTranslateY()) {
quality = kNone_SkFilterQuality;
}
// TODO: bilerp
if (quality != kNone_SkFilterQuality) {
return false;