diff options
author | Yuqian Li <liyuqian@google.com> | 2017-09-01 15:38:45 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-01 20:10:49 +0000 |
commit | bd40a5bf5bef1ebb5400f0cf087a420a98bb707b (patch) | |
tree | 0f598ee6f0c71bc49a1b1699165a2f33071705d5 /src/core/SkBlitter.cpp | |
parent | b7da7239f73554abebc579a1525e1f4993fee8d8 (diff) |
Use SkSTArenaAlloc to manage SkCoverageDeltaMask's stack memory
This way, we could have more stack memory on Google3: if each of the
two branche has 12K stack memory, Google3 would believe that it needs 24K
stack memory; but using SkSTArenaAlloc, we could use 12K stack memory to
handle those two branches.
Bug: skia:
Change-Id: Ie9234226cd4ba93b5be2ebeb95ab771031354f97
Reviewed-on: https://skia-review.googlesource.com/42101
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src/core/SkBlitter.cpp')
-rw-r--r-- | src/core/SkBlitter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp index a1a1db6ce5..618eed5871 100644 --- a/src/core/SkBlitter.cpp +++ b/src/core/SkBlitter.cpp @@ -98,12 +98,13 @@ void SkBlitter::blitCoverageDeltas(SkCoverageDeltaList* deltas, const SkIRect& c continue; } - // If there are too many deltas, sorting will be slow. Using a mask will be much faster. + // If there are too many deltas, sorting will be slow. Using a mask is much faster. // This is such an important optimization that will bring ~2x speedup for benches like // path_fill_small_long_line and path_stroke_small_sawtooth. if (canUseMask && !deltas->sorted(y) && deltas->count(y) << 3 >= clip.width()) { SkIRect rowIR = SkIRect::MakeLTRB(clip.fLeft, y, clip.fRight, y + 1); - SkCoverageDeltaMask mask(rowIR); + SkSTArenaAlloc<SkCoverageDeltaMask::MAX_SIZE> alloc; + SkCoverageDeltaMask mask(&alloc, rowIR); for(int i = 0; i < deltas->count(y); ++i) { const SkCoverageDelta& delta = deltas->getDelta(y, i); mask.addDelta(delta.fX, y, delta.fDelta); |