diff options
author | reed <reed@chromium.org> | 2015-04-10 20:39:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-10 20:39:19 -0700 |
commit | 054eef2b5ca84bf5b03e5ddba0c30055f5e474cc (patch) | |
tree | ecd07f4f7b2b44f2260d353b8ec9fca5ac0e27ac /src/core/SkScan_Hairline.cpp | |
parent | 94164944f88972e7fd555170ca94536a70db1515 (diff) |
change hairline procs to take SkPoint by value, more efficient on SSE and NEON
precursor for https://codereview.chromium.org/1074313002/
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1084433002
Diffstat (limited to 'src/core/SkScan_Hairline.cpp')
-rw-r--r-- | src/core/SkScan_Hairline.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/core/SkScan_Hairline.cpp b/src/core/SkScan_Hairline.cpp index bd597b3d68..8cce57b8c9 100644 --- a/src/core/SkScan_Hairline.cpp +++ b/src/core/SkScan_Hairline.cpp @@ -40,8 +40,7 @@ static bool canConvertFDot6ToFixed(SkFDot6 x) { } #endif -void SkScan::HairLineRgn(const SkPoint& pt0, const SkPoint& pt1, - const SkRegion* clip, SkBlitter* blitter) { +void SkScan::HairLineRgn(SkPoint pt0, SkPoint pt1, const SkRegion* clip, SkBlitter* blitter) { SkBlitterClipper clipper; SkRect r; SkIRect clipR, ptsR; @@ -210,8 +209,7 @@ static int compute_int_quad_dist(const SkPoint pts[3]) { } } -typedef void (*LineProc)(const SkPoint&, const SkPoint&, const SkRegion*, - SkBlitter*); +typedef void (*LineProc)(SkPoint, SkPoint, const SkRegion*, SkBlitter*); static void hairquad(const SkPoint pts[3], const SkRegion* clip, SkBlitter* blitter, int level, LineProc lineproc) { @@ -257,8 +255,8 @@ static int compute_quad_level(const SkPoint pts[3]) { return level; } -static void hair_path(const SkPath& path, const SkRasterClip& rclip, - SkBlitter* blitter, LineProc lineproc) { +static void hair_path(const SkPath& path, const SkRasterClip& rclip, SkBlitter* blitter, + LineProc lineproc) { if (path.isEmpty()) { return; } @@ -321,13 +319,11 @@ static void hair_path(const SkPath& path, const SkRasterClip& rclip, } } -void SkScan::HairPath(const SkPath& path, const SkRasterClip& clip, - SkBlitter* blitter) { +void SkScan::HairPath(const SkPath& path, const SkRasterClip& clip, SkBlitter* blitter) { hair_path(path, clip, blitter, SkScan::HairLineRgn); } -void SkScan::AntiHairPath(const SkPath& path, const SkRasterClip& clip, - SkBlitter* blitter) { +void SkScan::AntiHairPath(const SkPath& path, const SkRasterClip& clip, SkBlitter* blitter) { hair_path(path, clip, blitter, SkScan::AntiHairLineRgn); } @@ -368,8 +364,7 @@ void SkScan::FrameRect(const SkRect& r, const SkPoint& strokeSize, SkScan::FillRect(tmp, clip, blitter); } -void SkScan::HairLine(const SkPoint& p0, const SkPoint& p1, - const SkRasterClip& clip, SkBlitter* blitter) { +void SkScan::HairLine(SkPoint p0, SkPoint p1, const SkRasterClip& clip, SkBlitter* blitter) { if (clip.isBW()) { HairLineRgn(p0, p1, &clip.bwRgn(), blitter); } else { @@ -389,8 +384,7 @@ void SkScan::HairLine(const SkPoint& p0, const SkPoint& p1, } } -void SkScan::AntiHairLine(const SkPoint& p0, const SkPoint& p1, - const SkRasterClip& clip, SkBlitter* blitter) { +void SkScan::AntiHairLine(SkPoint p0, SkPoint p1, const SkRasterClip& clip, SkBlitter* blitter) { if (clip.isBW()) { AntiHairLineRgn(p0, p1, &clip.bwRgn(), blitter); } else { |