aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkLinearBitmapPipeline.h
Commit message (Collapse)AuthorAge
* Use SkFixedAllocator in SkLinearPipeline and remove the embedding ofGravatar Herb Derby2016-11-18
| | | | | | | | | | | | | | | the entire pipeline. Adjust SkFixedAlloc to allow nesting of allocation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4987 Change-Id: Ieeb1b5deaae004b67cee933af9bc19bbfd5a7687 Reviewed-on: https://skia-review.googlesource.com/4987 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use SkSmallAllocator for Blender stage.Gravatar Herb Derby2016-11-17
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4969 Change-Id: I5466e6b906c1f268860011957a5a00361c6bb66a Reviewed-on: https://skia-review.googlesource.com/4969 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Use SkSmallAllocator for SamplerStage and Accessor.Gravatar Herb Derby2016-11-16
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4917 Change-Id: Id67d7c1cefa2aadfc706c56dd02d086120f99be3 Reviewed-on: https://skia-review.googlesource.com/4917 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use SkSmallAllocator for tiling.Gravatar Herb Derby2016-11-16
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4904 Change-Id: If401ea43454b46591d6f39492e7761b16a7e7a29 Reviewed-on: https://skia-review.googlesource.com/4904 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* make SkXfermode.h go awayGravatar Mike Reed2016-11-16
| | | | | | | | | | | | | | | | | | This is step one: - make SkXfermode useless to public clients - everything they should need is in SkBlendMode.h Step two: - remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4534 Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc Reviewed-on: https://skia-review.googlesource.com/4534 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Move the matrix stage of SkLinearBitmapPipeline over to using SkSmallAllocator.Gravatar herb2016-11-15
| | | | | | | | | | | | | The rest of the stages will follow. When all stages are completed, this should significantly reduce stack use in the typical case. This a step in removing the baroque stage system and moving towards a SkRasterPipeline stage system. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2484273002 Review-Url: https://codereview.chromium.org/2484273002
* remove use of xfermode* in procsGravatar Mike Reed2016-11-09
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4592 Change-Id: I99f35924ff5325dfac527bb573a86d2d0366e0b3 Reviewed-on: https://skia-review.googlesource.com/4592 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Change code to not store Sk4* in data structures.Gravatar herb2016-11-08
| | | | | | | | | This allows the SkLinearBitmapPipeline system to avoid problems with alignment. This allows it to naturally fit with the rest of the system, and simplifies surrounding code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2486523002 Review-Url: https://codereview.chromium.org/2486523002
* Use alignas to force alignment.Gravatar herb2016-11-04
| | | | | | | | | | | | | | | | Using alignas reduces code and platform specific macros. Use alignas instead of std::aligned_storage because it is unimplemneted in MSVC 2015. Here is the bug from MS: https://connect.microsoft.com/VisualStudio/feedback/details/1559873/std-aligned-storage-cannot-align-type-with-16-byte BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002 TBR=reed@google.com Review-Url: https://codereview.chromium.org/2473143002
* Revert of Try to use only std::aligned_storage. (patchset #2 id:20001 of ↵Gravatar benjaminwagner2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2468243002/ ) Reason for revert: DM failure: https://luci-milo.appspot.com/swarming/task/324387bf30100f10 c:\b\work\skia\src\core\sklinearbitmappipeline.cpp:49: fatal error: "assert(sizeof(Variant) <= sizeof(fSpace))" Original issue's description: > Try to use only std::aligned_storage. This does not change the API. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002 > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/e736e0c2d52a29a3b88a29ab39b3a90a5a2443a0 TBR=mtklein@chromium.org,bsalomon@google.com,mtklein@google.com,reed@google.com,herb@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2474073002
* Try to use only std::aligned_storage. This does not change the API.Gravatar herb2016-11-03
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2468243002 TBR=reed@google.com Review-Url: https://codereview.chromium.org/2468243002
* In the current code, tiling and bilerp sampling are strongly tied together. ↵Gravatar herb2016-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Review-Url: https://codereview.chromium.org/2134893002
* Revert of Redo Tiling (patchset #14 id:260001 of ↵Gravatar jcgregorio2016-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2134893002/ ) Reason for revert: Crashing on Win with: Caught exception 3221225477 EXCEPTION_ACCESS_VIOLATION, was running: unit test GrShape srgb gm shadertext2 srgb gm shallow_gradient_conical srgb gm shallow_gradient_sweep srgb gm shallow_gradient_linear_nodither step returned non-zero exit code: -1073741819 https://status.skia.org/?commit_label=author&filter=search&search_value=Test-Win-MSVC-GCE-CPU-AVX2-x86-Release Original issue's 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: > 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 TBR=mtklein@google.com,herb@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2174793002
* In the current code, tiling and bilerp sampling are strongly tied together. ↵Gravatar herb2016-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 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 Review-Url: https://codereview.chromium.org/2134893002
* Reduce size of LinearBitmapPipeline from 281K to 134K, but keep the same speed.Gravatar herb2016-07-11
| | | | | | | | | | | Speed checked using top25desk SKPS. Size measured using: llvm-nm-3.6 -print-file-name -print-size -U out/Release/libskia_core.a | awk '{totals[$1] += strtonum("0x" $3)} END { for (i in totals) {print totals[i], i}}' | sort -n | column -t GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2100323002 Review-Url: https://codereview.chromium.org/2100323002
* update callers to not use SkColorProfileTypeGravatar reed2016-06-21
| | | | | | | | | Requires https://codereview.chromium.org/2087833002/ to land first. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086583002 Review-Url: https://codereview.chromium.org/2086583002
* Make an embeddable container to hold linear pipelines.Gravatar herb2016-05-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1998793002 Review-Url: https://codereview.chromium.org/1998793002
* This has all the different source types in and working. There are many ↵Gravatar herb2016-05-13
| | | | | | | | | | | SkDiffs, but they seem to be due to better resolution. This seems to fix all the bugs involved with make all the images produced by the codec to default to sRGB. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967283002 Review-Url: https://codereview.chromium.org/1967283002
* Blitter for repeat RGBA8888->RGBA8888.Gravatar herb2016-04-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852613002 Review URL: https://codereview.chromium.org/1852613002
* Add clone to Stage. Rename place to mix and PolymorphicUnion to Stage. Cleanup.Gravatar herb2016-04-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877483002 Review URL: https://codereview.chromium.org/1877483002
* Add specialized rgba8888 unit sampler.Gravatar herb2016-04-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1868723003 Review URL: https://codereview.chromium.org/1868723003
* Add repeatSpan and change interface name.Gravatar herb2016-03-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841793002 Review URL: https://codereview.chromium.org/1841793002
* Add index-8 sampler to the pipeline.Gravatar herb2016-03-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829883002 Review URL: https://codereview.chromium.org/1829883002
* WIP: experimental bilerp pipeline.Gravatar herb2016-03-23
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1775963002 Review URL: https://codereview.chromium.org/1775963002
* Simplify the poly union.Gravatar herb2016-02-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1752433002 Review URL: https://codereview.chromium.org/1752433002
* Better encapsulation and vector calling convention.Gravatar herb2016-02-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1723683002 Review URL: https://codereview.chromium.org/1723683002
* Add point spans, but fall back for all cases.Gravatar herb2016-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711963003 curr/maxrss loops min median mean max stddev samples config bench 10/10 MB 1 481µs 504µs 512µs 580µs 6% ▁▁▄▆▂▃▁▁▁▁▁▁▃▇█▅▃█▃▅ nonrendering SkBitmapFPAffineXClampYClampFilterOrig 10/10 MB 1 2.21ms 2.31ms 2.31ms 2.53ms 4% ▁▁▆▃▃▃▄▅▂▁▄▁█▅▁▁▄▂▆▁ nonrendering SkBitmapFPAffineXClampYClampFilterLinr 10/10 MB 1 2.49ms 2.63ms 2.61ms 2.78ms 4% ▄▃▇▄▅▇▆▁▆▁▁▁▅▂▁▄▃█▆▃ nonrendering SkBitmapFPAffineXClampYClampFiltersRGB 10/10 MB 2 150µs 151µs 153µs 162µs 2% ▅▇▂▂▁▁▂▂▁▁▂▂▁▁▁▁▇█▂▁ nonrendering SkBitmapFPAffineXClampYClampNearestOrig 10/10 MB 1 552µs 553µs 562µs 658µs 4% ▁▁▁▁▁▁▁▁▁▄▃▁▁▁▁▁▁▁▁█ nonrendering SkBitmapFPAffineXClampYClampNearestLinr 10/10 MB 1 718µs 742µs 748µs 808µs 4% ▃▃▁▁▅▁▁▁▁▃▃▃▃▇▇▇▁▁▇█ nonrendering SkBitmapFPAffineXClampYClampNearestsRGB 10/10 MB 1 277µs 286µs 292µs 341µs 7% █▁▁▁▁▁▁▁▁▁▃▂▃▃▆█▄▂▂▂ nonrendering SkBitmapFPScaleXClampYClampFilterOrig 10/10 MB 1 2.21ms 2.41ms 2.39ms 2.55ms 4% ▄▆▃▅▇▂▁▁▇▅▆▅▅▆▄▅█▅▆▅ nonrendering SkBitmapFPScaleXClampYClampFilterLinr 10/10 MB 1 2.55ms 2.68ms 2.69ms 2.94ms 4% ▂▃▁▁▄▄▅▅▄▃█▄▃▇▂▁▃▃▂▂ nonrendering SkBitmapFPScaleXClampYClampFiltersRGB 10/10 MB 4 59.9µs 60.6µs 61.6µs 71.1µs 5% ▂▃▄▁▁▁▁█▇▁▂▁▁▁▁▁▁▁▁▁ nonrendering SkBitmapFPScaleXClampYClampNearestOrig 10/10 MB 1 534µs 560µs 559µs 613µs 5% ▇▂▁▅▅▅█▅▅▃▁▁▁▁▂▄▅▁▁▁ nonrendering SkBitmapFPScaleXClampYClampNearestLinr 10/10 MB 1 639µs 658µs 666µs 731µs 5% ▅█▃▂▃▇▆▁▁▁▁▁▂▁▁▁▁▄█▄ nonrendering SkBitmapFPScaleXClampYClampNearestsRGB 10/10 MB 4 61.6µs 65.7µs 65.5µs 70.4µs 5% ▃▃▃█▆▆▂▂▂▅▄▄▇▄▁▂▁▄██ nonrendering SkBitmapFPIdentityXClampYClampFilterOrig 10/10 MB 1 2.22ms 2.34ms 2.35ms 2.57ms 3% ▂█▅▄▃▃▃▄▂▄▄▄▂▄▁▆▃▁▄▃ nonrendering SkBitmapFPIdentityXClampYClampFilterLinr 10/10 MB 1 2.42ms 2.52ms 2.52ms 2.76ms 4% ▁▁▄▂▄▄▃▅█▄▅▁▃▁▁▃▁▄▃▃ nonrendering SkBitmapFPIdentityXClampYClampFiltersRGB 10/10 MB 4 59.7µs 64.7µs 64.8µs 73.3µs 7% ▂▂▄▁▂▁▁▂▁▁▆▄▆▆▇▄▆▇▂█ nonrendering SkBitmapFPIdentityXClampYClampNearestOrig 10/10 MB 1 376µs 388µs 387µs 429µs 4% ▃▃▆▁▄▄▁▃█▁▁▁▁▁▃▃▄▁▁▁ nonrendering SkBitmapFPIdentityXClampYClampNearestLinr 10/10 MB 1 496µs 511µs 518µs 568µs 5% ▂▆▆█▆▃▂▂█▇▃▁▁▁▁▁▁▁▁▁ nonrendering SkBitmapFPIdentityXClampYClampNearestsRGB Review URL: https://codereview.chromium.org/1711963003
* Switch to pixmap in API.Gravatar herb2016-02-18
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1712653002 Review URL: https://codereview.chromium.org/1712653002
* Add bilerp filtering.Gravatar herb2016-02-17
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1705203002 Review URL: https://codereview.chromium.org/1705203002
* Simplified linear pipeline.Gravatar herb2016-02-17
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1704583003 Review URL: https://codereview.chromium.org/1704583003