diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkAntiRun.h | 1 | ||||
-rw-r--r-- | src/core/SkScan.cpp | 6 | ||||
-rw-r--r-- | src/core/SkScan_AAAPath.cpp | 2 | ||||
-rw-r--r-- | src/core/SkXfermode.cpp | 3 |
4 files changed, 7 insertions, 5 deletions
diff --git a/src/core/SkAntiRun.h b/src/core/SkAntiRun.h index 5ac0e62a6c..8b19036d6c 100644 --- a/src/core/SkAntiRun.h +++ b/src/core/SkAntiRun.h @@ -23,6 +23,7 @@ public: // Return 0-255 given 0-256 static inline SkAlpha CatchOverflow(int alpha) { + SkASSERT(alpha >= 0 && alpha <= 256); return alpha - (alpha >> 8); } diff --git a/src/core/SkScan.cpp b/src/core/SkScan.cpp index a7ecf31826..5a02c61b44 100644 --- a/src/core/SkScan.cpp +++ b/src/core/SkScan.cpp @@ -10,10 +10,10 @@ #include "SkBlitter.h" #include "SkRasterClip.h" -#ifdef SK_ANALYTIC_AA - std::atomic<bool> gSkUseAnalyticAA{true}; -#else +#ifdef SK_NO_ANALYTIC_AA std::atomic<bool> gSkUseAnalyticAA{false}; +#else + std::atomic<bool> gSkUseAnalyticAA{true}; #endif static inline void blitrect(SkBlitter* blitter, const SkIRect& r) { diff --git a/src/core/SkScan_AAAPath.cpp b/src/core/SkScan_AAAPath.cpp index aab253ce8d..8ca2fea714 100644 --- a/src/core/SkScan_AAAPath.cpp +++ b/src/core/SkScan_AAAPath.cpp @@ -485,7 +485,7 @@ static inline SkAlpha partialTriangleToAlpha(SkFixed a, SkFixed b) { } static inline SkAlpha getPartialAlpha(SkAlpha alpha, SkFixed partialHeight) { - return (alpha * partialHeight + SK_FixedHalf) >> 16; + return SkToU8(SkFixedRoundToInt(alpha * partialHeight)); } static inline SkAlpha getPartialAlpha(SkAlpha alpha, SkAlpha fullAlpha) { diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp index 6894b84238..64ce04d851 100644 --- a/src/core/SkXfermode.cpp +++ b/src/core/SkXfermode.cpp @@ -949,7 +949,8 @@ template <Sk4f (blend)(const Sk4f&, const Sk4f&)> SkPM4f proc_4f(const SkPM4f& s assert_unit(s); assert_unit(d); SkPM4f r = as_pm4f(blend(as_4f(s), as_4f(d))); - assert_unit(r); + // Turn this assert off for now because srgb conversions may end up in rgb > a + // assert_unit(r); return r; } |