aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkLinearBitmapPipeline.cpp
Commit message (Collapse)AuthorAge
* Remove SkFallbackAlloc and SkFixedAlloc.Gravatar Herb Derby2017-01-16
| | | | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN;skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN TBR=reed@google.com Change-Id: I1000dc9ed8ad65b249798759d9af99f47fc237d2 Reviewed-on: https://skia-review.googlesource.com/6809 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Introduce SkArenaAlloc - should be fast for POD types and RAII for types ↵Gravatar Herb Derby2017-01-13
| | | | | | | | | | | | | | with dtors. - Implementation. - Use in SkLinearPipeline. TBR=mtklein@google.com Change-Id: Ie014184469b217132b0307b5a9ae40c0c60e5fc9 Reviewed-on: https://skia-review.googlesource.com/6921 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Introduce SkArenaAlloc - should be fast for POD types and RAII for ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | types with dtors." This reverts commit 6ff51aedda6f3b4873c292d7e03e47ad656543f8. Reason for revert: breaks win2k8 and PDFium Change-Id: Ib1e2db8e523d5d321836ce00e3773def3db8be2f Reviewed-on: https://skia-review.googlesource.com/6898 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Introduce SkArenaAlloc - should be fast for POD types and RAII for types ↵Gravatar Herb Derby2017-01-11
| | | | | | | | | | | | | with dtors. - Implementation. - Use in SkLinearPipeline. TBR=mtklein@google.com Change-Id: Ia8efd09b2f3139a57182889ba84d1610eae92749 Reviewed-on: https://skia-review.googlesource.com/6352 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* 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>
* 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
* Remove stray semicolons.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | | | | Turns out function declarations don't end in semicolons... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720 No public API changes. TBR=reed@google.com Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb Reviewed-on: https://skia-review.googlesource.com/2720 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* 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
* centralize VECTORCALL as SK_VECTORCALLGravatar mtklein2016-07-07
| | | | | | | | | | | | Gonna start using this, might as well define it once centrally. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126253002 No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2126253002
* 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
* Simplify code by breaking general sampler into Nearest and Bilerp.Gravatar herb2016-06-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055513003 Review-Url: https://codereview.chromium.org/2055513003
* Handle single pixel case on tiled.Gravatar herb2016-06-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041813004 Review-Url: https://codereview.chromium.org/2041813004
* 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
* Make PixelGetters much smaller, move more common code to PixelAccessor.Gravatar herb2016-05-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971863002 Review-Url: https://codereview.chromium.org/1971863002
* Add 8888 fast SrcOver mode.Gravatar herb2016-05-03
| | | | | | | | | | | | | The SkLinearBitmapPipeline_tile change is an edge case fix. This will not function until gDefaultProfileSRGB in SkImageInfo is set to true. The srcover implementation is not the fastest, and I'm working on a better version. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1886233006 Review-Url: https://codereview.chromium.org/1886233006
* Add guards for edge cases.Gravatar herb2016-04-26
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915263002 Review URL: https://codereview.chromium.org/1915263002
* Add F16 source to the linear pipelin.Gravatar herb2016-04-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882893003 Review URL: https://codereview.chromium.org/1882893003
* 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
* Use a faster repeat tiler when translate only matrix.Gravatar herb2016-04-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1861253003 Review URL: https://codereview.chromium.org/1861253003
* Revert of Add unit repeat tiler (patchset #4 id:60001 of ↵Gravatar robertphillips2016-03-31
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1837893004/ ) Reason for revert: ASAN bot failures Original issue's description: > Add unit repeat tiler. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837893004 > > Committed: https://skia.googlesource.com/skia/+/865a289bfec169cb19970c734e9aa855c267f060 TBR=mtklein@google.com,fmalita@chromium.org,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/1844713005
* Add unit repeat tiler.Gravatar herb2016-03-31
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1837893004 Review URL: https://codereview.chromium.org/1837893004
* 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
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* 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
* Rework files and add test cases.Gravatar herb2016-03-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1757193002 Review URL: https://codereview.chromium.org/1757193002
* break out the tile and matrix strategiesGravatar herb2016-03-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1765953002 Review URL: https://codereview.chromium.org/1765953002
* Introduce bilerp spansGravatar herb2016-03-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1751943002 Review URL: https://codereview.chromium.org/1751943002
* Handle spans in sampling.Gravatar herb2016-03-01
| | | | | | | | | Older version copied over. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743123004 Review URL: https://codereview.chromium.org/1743123004
* Add swizzle for rgb8888.Gravatar herb2016-03-01
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746153002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1746153002
* 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
* Fix overlooked bilerp fallback.Gravatar herb2016-02-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746093002 Review URL: https://codereview.chromium.org/1746093002
* Fix uninitialized variable warning.Gravatar herb2016-02-29
| | | | | | | | CQ_INCLUDE_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Mips64-Release-Android-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743273002 Review URL: https://codereview.chromium.org/1743273002
* tile spansGravatar herb2016-02-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719333002 Review URL: https://codereview.chromium.org/1719333002
* remove unnecessary copiesGravatar mtklein2016-02-22
| | | | | | | | | these used to matter with pass-by-ref BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1721153002 Review URL: https://codereview.chromium.org/1721153002
* 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 spans for matrix ops.Gravatar herb2016-02-22
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1722703002 Review URL: https://codereview.chromium.org/1722703002
* 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