Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Issue 2134893002: Redo Tiling (Closed)

Created:
4 years, 5 months ago by herb_g
Modified:
4 years, 5 months ago
Reviewers:
mtklein
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@reduce-LBP-sample
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

In the current code, tiling and bilerp sampling are strongly tied together. They can be separated by taking advantage of observation that translating a sample point into filter points in the bilerp stage the filter points will be at most 0.5 outside the tile. This allows simplified repositioning for the various tiling modes; clamp and mirror use min and max while repeat has max -> 0 and 0-> max. This allows bilerp to simply treat the filter points that fall off the tile. This allows tiling and bilerp sampling to be totally separate. This CL has several parts that are intertwined: * move pin/wrap functionality into BilerpSampler. * remove the nearest neighbor and bilerp tilers * create a simplified general tiler * remove the pipeline virtual calls bilerpEdge and bilerpSpan because everything works of sample points now. * redo all the bilerp sampling to use the new local to methods to wrap/pin. * introduce a new medium rate sample that handles spans with 1 < |dx| < 2. This change improves the performance as displayed below: Most of top 25 desktop improves or are the same. A few are worse, but close to the noise floor. In addition, this change has about 3% smaller code. old time new time new/old 13274693 8414645 0.633886 top25desk_google_com_search_q_c.skp_1 4946466 3258018 0.658656 top25desk_wordpress.skp_1 6977187 5737584 0.822335 top25desk_youtube_com.skp_1 3770021 3296831 0.874486 top25desk_google_com__hl_en_q_b.skp_1 8890813 8600143 0.967307 top25desk_answers_yahoo_com.skp_1 3178974 3094300 0.973364 top25desk_facebook.skp_1 8871835 8711260 0.981901 top25desk_twitter.skp_1 838509 829290 0.989005 top25desk_blogger.skp_1 2821870 2801111 0.992644 top25desk_plus_google_com_11003.skp_1 511978 509530 0.995219 top25desk_techcrunch_com.skp_1 2408588 2397435 0.995369 top25desk_ebay_com.skp_1 4446919 4448004 1.00024 top25desk_espn.skp_1 2863241 2875696 1.00435 top25desk_google_com_calendar_.skp_1 7170086 7208447 1.00535 top25desk_booking_com.skp_1 7356109 7417776 1.00838 top25desk_pinterest.skp_1 5265591 5340392 1.01421 top25desk_weather_com.skp_1 5675244 5774144 1.01743 top25desk_sports_yahoo_com_.skp_1 1048531 1067663 1.01825 top25desk_games_yahoo_com.skp_1 2075501 2115131 1.01909 top25desk_amazon_com.skp_1 4262170 4370441 1.0254 top25desk_news_yahoo_com.skp_1 3789319 3897996 1.02868 top25desk_docs___1_open_documen.skp_1 919336 949979 1.03333 top25desk_wikipedia__1_tab_.skp_1 4274454 4489369 1.05028 top25desk_mail_google_com_mail_.skp_1 4149326 4376556 1.05476 top25desk_linkedin.skp_1 BUG=skia:5566 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2134893002 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Committed: https://skia.googlesource.com/skia/+/8602ede5fdfa721dcad4dcb11db028c1c24265f1 Committed: https://skia.googlesource.com/skia/+/86a6c6d8bdb1055ee2d0689eeaa4a814402e69dd

Patch Set 1 #

Patch Set 2 : WIP: Part way through bilerpers. #

Patch Set 3 : WIP: draft of slow rate done. #

Patch Set 4 : WIP: fixed clamp tiling. #

Patch Set 5 : WIP: linear_pipeline working. #

Patch Set 6 : WIP: unit working. #

Patch Set 7 : All the blitters rewrittern. #

Patch Set 8 : WIP: not passing DM but all written. #

Patch Set 9 : Sync. #

Patch Set 10 : fix zero rate. #

Patch Set 11 : Remove code. #

Patch Set 12 : sync #

Patch Set 13 : Fix perf problem. #

Total comments: 12

Patch Set 14 : Address comments. #

Patch Set 15 : betterfunctions #

Patch Set 16 : Fix win32 bug. #

Patch Set 17 : Document bug. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+557 lines, -507 lines) Patch
M src/core/SkBitmapProcShader.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/core/SkLinearBitmapPipeline.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/core/SkLinearBitmapPipeline.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 11 chunks +50 lines, -192 lines 0 comments Download
M src/core/SkLinearBitmapPipeline_core.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +11 lines, -22 lines 0 comments Download
M src/core/SkLinearBitmapPipeline_sample.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 13 chunks +493 lines, -290 lines 0 comments Download

Messages

Total messages: 70 (37 generated)
herb_g
WIP: Part way through bilerpers.
4 years, 5 months ago (2016-07-11 21:53:53 UTC) #2
herb_g
WIP: draft of slow rate done.
4 years, 5 months ago (2016-07-12 22:11:33 UTC) #3
herb_g
WIP: fixed clamp tiling.
4 years, 5 months ago (2016-07-13 21:47:13 UTC) #4
herb_g
WIP: linear_pipeline working.
4 years, 5 months ago (2016-07-14 22:01:17 UTC) #6
herb_g
WIP: unit working.
4 years, 5 months ago (2016-07-15 21:20:52 UTC) #8
herb_g
All the blitters rewrittern.
4 years, 5 months ago (2016-07-18 21:58:12 UTC) #9
herb_g
WIP: not passing DM but all written.
4 years, 5 months ago (2016-07-18 22:12:51 UTC) #10
herb_g
Sync.
4 years, 5 months ago (2016-07-19 19:10:10 UTC) #11
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-19 19:11:39 UTC) #14
herb_g
fix zero rate.
4 years, 5 months ago (2016-07-20 18:14:44 UTC) #17
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-20 18:15:14 UTC) #20
herb_g
Remove code.
4 years, 5 months ago (2016-07-20 18:50:17 UTC) #23
herb_g
sync
4 years, 5 months ago (2016-07-20 18:57:28 UTC) #24
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-20 18:58:02 UTC) #27
herb_g
4 years, 5 months ago (2016-07-20 19:33:49 UTC) #32
herb_g
Fix perf problem.
4 years, 5 months ago (2016-07-21 14:32:56 UTC) #34
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-21 14:33:46 UTC) #37
mtklein
lgtm https://codereview.chromium.org/2134893002/diff/240001/src/core/SkLinearBitmapPipeline_sample.h File src/core/SkLinearBitmapPipeline_sample.h (right): https://codereview.chromium.org/2134893002/diff/240001/src/core/SkLinearBitmapPipeline_sample.h#newcode443 src/core/SkLinearBitmapPipeline_sample.h:443: // From an edgType, the integer value of ...
4 years, 5 months ago (2016-07-21 19:19:25 UTC) #40
herb_g
Address comments.
4 years, 5 months ago (2016-07-21 19:48:16 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2134893002/260001
4 years, 5 months ago (2016-07-21 19:51:17 UTC) #44
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-21 19:51:20 UTC) #45
herb_g
https://codereview.chromium.org/2134893002/diff/240001/src/core/SkLinearBitmapPipeline_sample.h File src/core/SkLinearBitmapPipeline_sample.h (right): https://codereview.chromium.org/2134893002/diff/240001/src/core/SkLinearBitmapPipeline_sample.h#newcode443 src/core/SkLinearBitmapPipeline_sample.h:443: // From an edgType, the integer value of a ...
4 years, 5 months ago (2016-07-21 19:52:20 UTC) #46
commit-bot: I haz the power
Committed patchset #14 (id:260001) as https://skia.googlesource.com/skia/+/8602ede5fdfa721dcad4dcb11db028c1c24265f1
4 years, 5 months ago (2016-07-21 20:22:08 UTC) #48
jcgregorio
A revert of this CL (patchset #14 id:260001) has been created in https://codereview.chromium.org/2174793002/ by jcgregorio@google.com. ...
4 years, 5 months ago (2016-07-22 12:40:46 UTC) #49
herb_g
Fix win32 bug.
4 years, 5 months ago (2016-07-22 19:36:13 UTC) #51
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-22 19:37:58 UTC) #54
herb_g
Document bug.
4 years, 5 months ago (2016-07-22 20:35:42 UTC) #57
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-22 20:36:41 UTC) #60
herb_g
PTAL to check in for the MSVC 2015u2 bug.
4 years, 5 months ago (2016-07-22 20:37:22 UTC) #61
mtklein
lgtm
4 years, 5 months ago (2016-07-22 20:44:54 UTC) #62
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2134893002/320001
4 years, 5 months ago (2016-07-22 21:05:34 UTC) #66
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names in CQ_INCLUDE_TRYBOTS part of ...
4 years, 5 months ago (2016-07-22 21:05:36 UTC) #67
commit-bot: I haz the power
4 years, 5 months ago (2016-07-22 21:06:31 UTC) #70
Message was sent while issue was closed.
Committed patchset #17 (id:320001) as
https://skia.googlesource.com/skia/+/86a6c6d8bdb1055ee2d0689eeaa4a814402e69dd

Powered by Google App Engine
This is Rietveld 408576698