diff options
author | reed <reed@google.com> | 2015-01-16 07:27:46 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-16 07:27:46 -0800 |
commit | b50ced703030dfbda4fc3ef5e6ec9a52fc0405f8 (patch) | |
tree | 2dbcf1d1f88948afed2915d6e73765b067aa9509 /src | |
parent | 15fd47f8a07615a7f5d78581aee4c80ff9f17fd9 (diff) |
Revert of use log2(scale) to compute mip level (patchset #7 id:120001 of https://codereview.chromium.org/849333002/)
Reason for revert:
need more suppressions
Original issue's description:
> use log2(scale) to compute mip level
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/15fd47f8a07615a7f5d78581aee4c80ff9f17fd9
TBR=robertphillips@google.com,jvanverth@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/856783004
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkMipMap.cpp | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp index 2dad6d9c57..83164b1526 100644 --- a/src/core/SkMipMap.cpp +++ b/src/core/SkMipMap.cpp @@ -225,7 +225,8 @@ SkMipMap* SkMipMap::Build(const SkBitmap& src, SkDiscardableFactoryProc fact) { /////////////////////////////////////////////////////////////////////////////// -#ifdef SK_SUPPORT_LEGACY_MIPLEVELCHOICE +//static int gCounter; + static SkFixed compute_level(SkScalar scale) { SkScalar inv = SkScalarAbs(SkScalarInvert(scale)); if (inv > 32767) { // Watch out for SkFixed overflow. @@ -240,29 +241,17 @@ static SkFixed compute_level(SkScalar scale) { SkASSERT(clz >= 1 && clz <= 15); return SkIntToFixed(15 - clz) + ((unsigned)(s << (clz + 1)) >> 16); } -#endif bool SkMipMap::extractLevel(SkScalar scale, Level* levelPtr) const { if (NULL == fLevels) { return false; } - if (scale >= SK_Scalar1 || scale <= 0 || !SkScalarIsFinite(scale)) { + if (scale >= SK_Scalar1) { return false; } -#ifdef SK_SUPPORT_LEGACY_MIPLEVELCHOICE int level = compute_level(scale) >> 16; -#else - SkScalar L = -SkScalarLog2(scale); - if (!SkScalarIsFinite(L)) { - return false; - } - SkASSERT(L >= 0); - int level = SkScalarRoundToInt(L); -// SkDebugf("mipmap scale=%g L=%g level=%d\n", scale, L, level); -#endif - SkASSERT(level >= 0); if (level <= 0) { return false; |