From bfebe22ed54d1e3a00888292f10ed8b9714135d3 Mon Sep 17 00:00:00 2001 From: liyuqian Date: Mon, 14 Nov 2016 11:17:16 -0800 Subject: Set analytic AA as default. We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using analytic AA until we fix all the Chrome tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 Review-Url: https://codereview.chromium.org/2471133002 --- src/core/SkAntiRun.h | 1 + src/core/SkScan.cpp | 6 +++--- src/core/SkScan_AAAPath.cpp | 2 +- src/core/SkXfermode.cpp | 3 ++- 4 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src/core') 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 gSkUseAnalyticAA{true}; -#else +#ifdef SK_NO_ANALYTIC_AA std::atomic gSkUseAnalyticAA{false}; +#else + std::atomic 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 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; } -- cgit v1.2.3