aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkLinearBitmapPipeline_sample.h
Commit message (Collapse)AuthorAge
* Fix overflow bug in slow span.Gravatar Herb Derby2017-03-17
| | | | | | | | | | | Fix an overflow in the address calculation in the sampler. BUG=chromium:700836 Change-Id: Ifadbdc9541138219e8aec08c1342a241da75705c Reviewed-on: https://skia-review.googlesource.com/9815 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Herb Derby <herb@google.com>
* SkTypes.h : move SkAutoMalloc into SkAutoMalloc.hGravatar Hal Canary2017-01-11
| | | | | | | | | | | | | | | | * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Revert "Revert 'SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h'" This reverts commit c456b73fef9589bbdc5eb83eaa83e53c357bb3da. Change-Id: Ie2c1a17c20134b8ceab85a68b3ae3e61c24fbaab Reviewed-on: https://skia-review.googlesource.com/6886 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h"Gravatar Kevin Lubick2017-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a5494f117086d712855e4b6289c58c92d1549bcf. Reason for revert: Broke Google3 Original change's description: > SkTypes.h : move SkAutoMalloc into SkAutoMalloc.h > > * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). > > * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h > > * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" > > Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 > Reviewed-on: https://skia-review.googlesource.com/4543 > Reviewed-by: Ben Wagner <bungeman@google.com> > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> > TBR=halcanary@google.com,bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ie8bd176121c3ee83c110d66c0d0ac65e09bfc9c5 Reviewed-on: https://skia-review.googlesource.com/6884 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com>
* SkTypes.h : move SkAutoMalloc into SkAutoMalloc.hGravatar Hal Canary2017-01-11
| | | | | | | | | | | | | | * SkAutoFree moved to SkTemplates.h (now implmented with unique_ptr). * SkAutoMalloc and SkAutoSMalloc moved to SkAutoMalloc.h * "SkAutoFree X(sk_malloc_throw(N));" --> "SkAutoMalloc X(N);" Change-Id: Idacd86ca09e22bf092422228599ae0d9bedded88 Reviewed-on: https://skia-review.googlesource.com/4543 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@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>
* Flush denorm half floats to zero.Gravatar mtklein2016-08-22
| | | | | | | | | | | | | | | | | | I think we convinced ourselves that denorms, while a good chunk of half floats, cover a rather small fraction of the representable range, which is always close enough to zero to flush. This makes both paths of the conversion to or from float considerably simpler. These functions now work for zero-or-normal half floats (excluding infinite, NaN). I'm not aware of a term for this class so I've called them "ordinary". A handful of GMs and SKPs draw differently in --config f16, but all imperceptibly. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2256023002 Review-Url: https://codereview.chromium.org/2256023002
* require semi at the end of SkASSERT and friendsGravatar caryclark2016-07-27
| | | | | | | | R=bungeman@google.com TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185063002 Review-Url: https://codereview.chromium.org/2185063002
* 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
* Correct sRGB <-> linear everywhere.Gravatar mtklein2016-07-20
| | | | | | | | | | | | | | | | | | | | | | This trims the SkPM4fPriv methods down to just foolproof methods. (Anything trying to build these itself is probably wrong.) Things like Sk4f srgb_to_linear(Sk4f) can't really exist anymore, at least not efficiently, so this refactor is somewhat more invasive than you might think. Generally this means things using to_4f() are also making a misstep... that's gone too. It also does not make sense to try to play games with linear floats with 255 bias any more. That hack can't work with real sRGB coding. Rather than update them, I've removed a couple of L32 xfermode fast paths. I'd even rather drop it entirely... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163683002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2163683002
* Fix color order for 565,4444, and I8 samplers.Gravatar mtklein2016-07-20
| | | | | | | | | | | 10 GMs fixed on Linux/Win! Also, don't unpremul I8 colors. It's inconsistent with the other formats. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2166623002 Review-Url: https://codereview.chromium.org/2166623002
* Expand _01 half<->float limitation to _finite. Simplify.Gravatar mtklein2016-07-15
| | | | | | | | | | | | | | | | | | | | | | | It's become clear we need to sometimes deal with values <0 or >1. I'm not yet convinced we care about NaN or +-inf. We had some fairly clever tricks and optimizations here for NEON and SSE. I've thrown them out in favor of a single implementation. If we find the specializations mattered, we can certainly figure out how to extend them to this new range/domain. This happens to add a vectorized float -> half for ARMv7, which was missing from the _01 version. (The SSE strategy was not portable to platforms that flush denorm floats to zero.) I've tested the full float range for FloatToHalf on my desktop and a 5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 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,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90 Review-Url: https://codereview.chromium.org/2145663003
* Revert of Expand _01 half<->float limitation to _finite. Simplify. ↵Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/2145663003/ ) Reason for revert: Unit tests fail on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast Original issue's description: > Expand _01 half<->float limitation to _finite. Simplify. > > It's become clear we need to sometimes deal with values <0 or >1. > I'm not yet convinced we care about NaN or +-inf. > > We had some fairly clever tricks and optimizations here for NEON > and SSE. I've thrown them out in favor of a single implementation. > If we find the specializations mattered, we can certainly figure out > how to extend them to this new range/domain. > > This happens to add a vectorized float -> half for ARMv7, which was > missing from the _01 version. (The SSE strategy was not portable to > platforms that flush denorm floats to zero.) > > I've tested the full float range for FloatToHalf on my desktop and a 5x. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 > 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,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot > > Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90 TBR=msarett@google.com,mtklein@chromium.org # 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/2151023003
* Expand _01 half<->float limitation to _finite. Simplify.Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | It's become clear we need to sometimes deal with values <0 or >1. I'm not yet convinced we care about NaN or +-inf. We had some fairly clever tricks and optimizations here for NEON and SSE. I've thrown them out in favor of a single implementation. If we find the specializations mattered, we can certainly figure out how to extend them to this new range/domain. This happens to add a vectorized float -> half for ARMv7, which was missing from the _01 version. (The SSE strategy was not portable to platforms that flush denorm floats to zero.) I've tested the full float range for FloatToHalf on my desktop and a 5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 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/2145663003
* 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
* Make SkBlitter hierarchy explicit about what needs to be implemented.Gravatar herb2016-06-10
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2053823002 Review-Url: https://codereview.chromium.org/2053823002
* 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
* Use faster case for on tile sampling, and a little clean up. This has been a ↵Gravatar herb2016-06-08
| | | | | | | | | | | sampling bug and so was bypassed using "false &&". Found the sampling bug and added the case back in. Remove long commented out code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2044373003 Review-Url: https://codereview.chromium.org/2044373003
* 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
* Fix bad pixel address calculation.Gravatar herb2016-05-12
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974053002 Review-Url: https://codereview.chromium.org/1974053002
* Use common code from SkPM4fPrivGravatar herb2016-05-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967793003 Review-Url: https://codereview.chromium.org/1967793003
* Refactor sample to share boiler plate code. TODO: move to common calls from ↵Gravatar herb2016-05-11
| | | | | | | | | | | SkPM4f. This preparation to finish handling the rest of the SkColorTypes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970813002 Review-Url: https://codereview.chromium.org/1970813002
* add index in getPixels for F16Gravatar reed2016-04-14
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1888883003 Review URL: https://codereview.chromium.org/1888883003
* 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
* 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
* Reverse dependency between SkScalar.h and SkFixed.h.Gravatar benjaminwagner2016-04-07
| | | | | | | | | | | | | | | The following are unused in Chromium, Android, Mozilla, and Google3: - SkFixedToScalar - SkScalarToFixed The following are additionally unused in Skia: - SkStrAppendFixed - SkWriteBuffer::writeFixed BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841123002 Review URL: https://codereview.chromium.org/1841123002
* 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