aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* Add SkRasterPipeline blitter.Gravatar mtklein2016-07-22
| | | | | | | | | | | This is now pixel-exact with the existing sRGB SW impl as far as I've tested. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot Committed: https://skia.googlesource.com/skia/+/3011e337693a9786f62d8de9ac4b239ad6dbdaca Review-Url: https://codereview.chromium.org/2146413002
* Bundle SkShader::asFragmentProcessor arguments in a structGravatar brianosman2016-07-22
| | | | | | | | | | The signature of this thing keeps changing (and is about to change again). This just makes maintenance much easier. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175563003 Review-Url: https://codereview.chromium.org/2175563003
* Revert of Add SkRasterPipeline blitter. (patchset #18 id:340001 of ↵Gravatar mtklein2016-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2146413002/ ) Reason for revert: Leaking the blitter https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN/builds/7908/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > Add SkRasterPipeline blitter. > > This is now pixel-exact with the existing sRGB SW impl as far as I've tested. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002 > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/3011e337693a9786f62d8de9ac4b239ad6dbdaca TBR=reed@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/2178523002
* Creating framework for drawShadowedPictureGravatar vjiaoblack2016-07-22
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a Committed: https://skia.googlesource.com/skia/+/95302da19d8b0a3bcd9d9be0e79f486760787f09 Review-Url: https://codereview.chromium.org/2146073003
* Add SkRasterPipeline blitter.Gravatar mtklein2016-07-22
| | | | | | | | | | This is now pixel-exact with the existing sRGB SW impl as far as I've tested. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146413002 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/2146413002
* Fix SkClipStack bug with inverse-filled difference elementsGravatar csmartdalton2016-07-22
| | | | | | | | | | | | | | Previously, SkClipStack would call "setEmpty" on itself when an inverse-filled difference element made the stack empty. This was a problem because setEmpty would forget the element had an inverse fill, yet leave the op as "difference". This change modifies it to manually update the clip bounds and set the gen-ID to kEmptyGenID, rather than calling setEmpty. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175493002 Review-Url: https://codereview.chromium.org/2175493002
* Fix SW sRGB dst + LCD coverage bug.Gravatar mtklein2016-07-22
| | | | | | | | | | | | | We're using the linear procs for sRGB destintations and the sRGB procs for linear destinations. Fix that. C.f. State32::getLCDProc(), which flags |= kDstIsSRGB_LCDFlag. kDistIsSRGB is (1<<2) == 4, so the sRGB procs must be 4-7, not 0-3. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2177493002 Review-Url: https://codereview.chromium.org/2177493002
* Add clamp to sk_linear_to_srgb, reorder instructionsGravatar msarett2016-07-22
| | | | | | | | | | | | | | | | | | | Improves performance for xforms toSRGB and to2Dot2. Seems more optimal to save clamping until the end. That way we don't stall the mul pipeline with a min/max. toSRGB: 371us -> 346us to2Dot2: 404us -> 387us FWIW, it probably makes sense to clamp inside sk_linear_to_srgb anyway. If not, we should potentially provide two versions (one that clamps and one that doesn't). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2173803002 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/2173803002
* 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
* Add SkColorSpace to GrDrawContextGravatar brianosman2016-07-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164363002 Review-Url: https://codereview.chromium.org/2164363002
* 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
* Miscellaneous color space refactorsGravatar msarett2016-07-21
| | | | | | | | | | | | | | | | (1) Use float matrix[16] everywhere (enables future code sharing). (2) SkColorLookUpTable refactors *** Store in a single allocation (like SkGammas) *** Eliminate fOutputChannels (we always require 3, and probably always will) (3) Change names of read_big_endian_* helpers BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2166093003 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/2166093003
* Creating framework for drawShadowedPictureGravatar vjiaoblack2016-07-21
| | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a Review-Url: https://codereview.chromium.org/2146073003
* Remove SkGrPixelRefGravatar robertphillips2016-07-21
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167173002 Review-Url: https://codereview.chromium.org/2167173002
* Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 ↵Gravatar vjiaoblack2016-07-21
| | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/2146073003/ ) Reason for revert: Decided to re-wait for a final LGTM. Already found a bug in variable naming to fix. Original issue's description: > Creating framework for drawShadowedPicture > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 > > Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a TBR=reed@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2167223002
* Creating framework for drawShadowedPictureGravatar vjiaoblack2016-07-21
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 Review-Url: https://codereview.chromium.org/2146073003
* Deprecate SkDevice::accessBitmap methodGravatar robertphillips2016-07-21
| | | | | | | | | | Relies on https://codereview.chromium.org/2162423003/ (Add SK_SUPPORT_LEGACY_ACCESSBITMAP Skia guard) landing in Chromium first. Calved off: https://codereview.chromium.org/2163323002/ (Add desired width & height to drawContext (as opposed to using the width & height of the RT)) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2168483003 Review-Url: https://codereview.chromium.org/2168483003
* Adding color space to SkSpecialImageGravatar brianosman2016-07-21
| | | | | | | | | | Mostly means that GPU backed special images need to be supplied (and store) a color space object. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163343002 Review-Url: https://codereview.chromium.org/2163343002
* Refactor parsing and storage of SkGammasGravatar msarett2016-07-21
| | | | | | | | | | | | | | | | | Benefits: (1) Parses and stores gamma tags in a single allocation. (2) Recognizes equal gamma tags to skip parsing work and save memory. Non-Benefits: (1) Not less complicated. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117773002 Committed: https://skia.googlesource.com/skia/+/2ea944c2b710caf29d4795ac953bad14224796f7 Committed: https://skia.googlesource.com/skia/+/959ccc1f3f49e1ddeb51c32c30ac4a2d94653856 Review-Url: https://codereview.chromium.org/2117773002
* 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
* Revert of Refactor parsing and storage of SkGammas (patchset #8 id:280001 of ↵Gravatar msarett2016-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2117773002/ ) Reason for revert: Tests failing Original issue's description: > Refactor parsing and storage of SkGammas > > Benefits: > (1) Parses and stores gamma tags in a single allocation. > (2) Recognizes equal gamma tags to skip parsing work and > save memory. > > Non-Benefits: > (1) Not less complicated. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117773002 > > Committed: https://skia.googlesource.com/skia/+/2ea944c2b710caf29d4795ac953bad14224796f7 > Committed: https://skia.googlesource.com/skia/+/959ccc1f3f49e1ddeb51c32c30ac4a2d94653856 TBR=reed@google.com,brianosman@google.com,mtklein@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/2171623002
* Have MakeFromImage fission the SkImage into a raster or a texture (patchset ↵Gravatar reed2016-07-20
| | | | | | | | | | | | | #1 id:1 of https://codereview.chromium.org/2167813002/ )" This reverts commit 3fb87201a104c9445fca341756a153f7b147c2a5. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164073004 TBR=robertphilips@google.com Review-Url: https://codereview.chromium.org/2164073004
* Revert of have MakeFromImage fission the SkImage into a raster or a texture ↵Gravatar reed2016-07-20
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/2167813002/ ) Reason for revert: broke ios build in chrome -- no_gpu? Original issue's description: > have MakeFromImage fission the SkImage into a raster or a texture > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167813002 > > Committed: https://skia.googlesource.com/skia/+/a61bfc6292edb990eae0b948648016550ef739a9 TBR=robertphillips@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/2168643003
* Refactor parsing and storage of SkGammasGravatar msarett2016-07-20
| | | | | | | | | | | | | | | | Benefits: (1) Parses and stores gamma tags in a single allocation. (2) Recognizes equal gamma tags to skip parsing work and save memory. Non-Benefits: (1) Not less complicated. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117773002 Committed: https://skia.googlesource.com/skia/+/2ea944c2b710caf29d4795ac953bad14224796f7 Review-Url: https://codereview.chromium.org/2117773002
* have MakeFromImage fission the SkImage into a raster or a textureGravatar reed2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167813002 Review-Url: https://codereview.chromium.org/2167813002
* Adding an SkColorSpace to SkImage_GpuGravatar brianosman2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165703003 Review-Url: https://codereview.chromium.org/2165703003
* Revert of Refactor parsing and storage of SkGammas (patchset #7 id:220001 of ↵Gravatar msarett2016-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2117773002/ ) Reason for revert: Broken bots. Original issue's description: > Refactor parsing and storage of SkGammas > > Benefits: > (1) Parses and stores gamma tags in a single allocation. > (2) Recognizes equal gamma tags to skip parsing work and > save memory. > > Non-Benefits: > (1) Not less complicated. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117773002 > > Committed: https://skia.googlesource.com/skia/+/2ea944c2b710caf29d4795ac953bad14224796f7 TBR=reed@google.com,brianosman@google.com,mtklein@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/2159253005
* remove dead methods now that we use specials exclusively for imagefiltersGravatar reed2016-07-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164763003 Review-Url: https://codereview.chromium.org/2164763003
* Tune linear->sRGB constants to round-trip all bytes.Gravatar mtklein2016-07-20
| | | | | | | | | | | | I basically just ran a big 5-deep for-loop over the five constants here. This is the first set of coefficients I found that round trips all bytes. I suspect there are many such sets. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162063003 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/2162063003
* Refactor parsing and storage of SkGammasGravatar msarett2016-07-20
| | | | | | | | | | | | | | | Benefits: (1) Parses and stores gamma tags in a single allocation. (2) Recognizes equal gamma tags to skip parsing work and save memory. Non-Benefits: (1) Not less complicated. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117773002 Review-Url: https://codereview.chromium.org/2117773002
* re-disable save/restore peephole optimizationGravatar reed2016-07-20
| | | | | | | BUG=skia:5548, 629408 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163283002 Review-Url: https://codereview.chromium.org/2163283002
* SkLS now accepting nullptr for diffuse shader and normal source, now ↵Gravatar dvonbeck2016-07-20
| | | | | | | | | | | accurately handling alpha This CL's base is the CL for taking in a diffuse shader into SkLS on the API side: https://codereview.chromium.org/2064153002 BUG=skia:5502,skia:5517 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2132113002 Review-Url: https://codereview.chromium.org/2132113002
* re-chop if we fail on a big-bad-cubicGravatar reed2016-07-20
| | | | | | | BUG=629455 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159223005 Review-Url: https://codereview.chromium.org/2159223005
* use special-image for imagefilters and save/restore layerGravatar reed2016-07-20
| | | | | | | | | | | | | add special virtuals to device, in preparation for using them instead of bitmap for imagefilters BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155933002 patch from issue 2155933002 at patchset 20001 (http://crrev.com/2155933002#ps20001) use specialimages instead of bitmaps for imagefiltering Review-Url: https://codereview.chromium.org/2155063002
* 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
* pre-land special methods on deviceGravatar reed2016-07-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161233002 Review-Url: https://codereview.chromium.org/2161233002
* Update rounding/clamping comments on sk_linear_to_srgb().Gravatar mtklein2016-07-19
| | | | | | | | | Rounding is enough. No need for an explicit clamp if the inputs are in range. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161223002 Review-Url: https://codereview.chromium.org/2161223002
* Fix color order on LCD text when using sRGB software backend.Gravatar mtklein2016-07-19
| | | | | | | BUG=skia:5182 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2166533002 Review-Url: https://codereview.chromium.org/2166533002
* Improve naive SkColorXform to half floatsGravatar msarett2016-07-19
| | | | | | | | | | | | | | | | | | | | | | | | This should give us a good baseline to explore using SkRasterPipeline. A particular colorxform to half float drops from 425us to 282us on my desktop. Color Xform to Half Float (HP z620) Original 425us Trans16 (not 32) 355us Vector Trans16 378us Trans16 + Keep Halfs in Vector 335us Vector Trans16 + Keep Halfs in Vector 282us Final 282us Color Xform to Half Float (Nexus 5X) Original 556us Final 472us BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159993003 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/2159993003
* remove unused MakeFromPixmapGravatar reed2016-07-19
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158913004 TBR=robertphilips@google.com Review-Url: https://codereview.chromium.org/2158913004
* Make SkFont a bit more useableGravatar robertphillips2016-07-19
| | | | | | | | Split out of https://codereview.chromium.org/2163483002/ (Use SkFont in GrStencilAndCoverTextContext) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163633002 Review-Url: https://codereview.chromium.org/2163633002
* Rename variables in SkCanvas::internalSaveLayerGravatar robertphillips2016-07-19
| | | | | | | | | This is split out of https://codereview.chromium.org/2145343005/ (Recast draw_filter_into_device as drawDevice) to, hopefully, make it easier to integrate that CL TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162883002 Review-Url: https://codereview.chromium.org/2162883002
* Fix the assert and clamping in SkMatrix::get*Scale[s]().Gravatar kolczyk2016-07-19
| | | | | | | | | Follow-up after https://codereview.chromium.org/2143133005/. BUG=skia:4718 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154123003 Review-Url: https://codereview.chromium.org/2154123003
* check for culled-out paths inside SkDrawGravatar reed2016-07-18
| | | | | | | BUG=629026 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2155213002 Review-Url: https://codereview.chromium.org/2155213002
* Introduce GrColorSpaceXform, for gamut conversion on texturesGravatar brianosman2016-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | GrTextureAccess optionally includes an instance, computed from the src and dst color spaces. In all common cases (no color space for either src or dst, or same color space for both), no object is allocated. This change is orthogonal to my attempts to get color space attached to render targets - regardless of how we choose to do that, this will give us the source color space at all points where we are connecting src to dst. There are many dangling injection points where I've been inserting nullptr, but I have a record of all of them. Additionally, there are now three places (the most common simple paths for bitmap/image rendering) where things are plumbed enough that I expect to have access to the dst color space (all marked with XFORMTODO). In addition to getting the dst color space, I need to inject shader code and uniform uploading for appendTextureLookup and friends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154753003 Review-Url: https://codereview.chromium.org/2154753003
* Add makeSpecial calls to SkGpuDeviceGravatar robertphillips2016-07-18
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161533003 Review-Url: https://codereview.chromium.org/2161533003
* Guard SkMatrix::get*Scale[s]() against negative nearly-zero values.Gravatar kolczyk2016-07-16
| | | | | | | BUG=skia:4718 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2143133005 Review-Url: https://codereview.chromium.org/2143133005
* move responsibility for creating raster-device into pdfGravatar reed2016-07-15
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146333004 NOTRY=True win failure seems unrelated Review-Url: https://codereview.chromium.org/2146333004
* Add capability for SkColorXform to output half floatsGravatar msarett2016-07-15
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147763002 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/2147763002
* SkColorSpace::NewICC() warn instead of fail on bad inputGravatar msarett2016-07-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2093193002 Review-Url: https://codereview.chromium.org/2093193002