aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* Hide SkCanvas::{set,get}DrawFilterGravatar fmalita2016-01-21
| | | | | | | | | | Except for Android, which still makes use of it. BUG=skia:3587 R=reed@google.com,djsollen@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1618843002 Review URL: https://codereview.chromium.org/1618843002
* experiment: float color componentsGravatar reed2016-01-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002 Review URL: https://codereview.chromium.org/1617813002
* Expose API for gx font variation axes.Gravatar bungeman2016-01-21
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1590223003 Review URL: https://codereview.chromium.org/1590223003
* SkValue: SkXfermodeGravatar halcanary2016-01-21
| | | | | | | | | | | | | Implement: template<> SkValue SkToValue<SkXfermode>(const SkXfermode*); template<> bool SkFromValue<SkXfermode*>(const SkValue&, SkXfermode**); GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1585813004 NOTRY=true Review URL: https://codereview.chromium.org/1585813004
* resolution dependent path measureGravatar caryclark2016-01-21
| | | | | | | | | | | | | | | | | When a dash is drawn through a canvas with a scaled up matrix, path measure needs the pixel resolution through the matrix to construct the dash with sufficient resolution. Pass the resolution through to path measure. Replicate chrome bug in skia GM. R=reed@google.com BUG=530095 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1608353002 Review URL: https://codereview.chromium.org/1608353002
* fix skp fuzzGravatar caryclark2016-01-21
| | | | | | | | R=kjlubick@google.com BUG=skia:4816 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617033002 Review URL: https://codereview.chromium.org/1617033002
* Remove SK_SUPPORT_SRC_BOUNDS_BLOAT_FOR_IMAGEFILTERS (now unused).Gravatar senorblanco2016-01-21
| | | | | | | BUG=skia:3194 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1616503002 Review URL: https://codereview.chromium.org/1616503002
* detect bad/corrupt flattenable factory indicesGravatar reed2016-01-21
| | | | | | | BUG=skia:4814 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1615883002 Review URL: https://codereview.chromium.org/1615883002
* remove dead code around SK_SUPPORT_LEGACY_TRANSLATEROUNDHACKGravatar reed2016-01-21
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611183002 TBR= Review URL: https://codereview.chromium.org/1611183002
* SkValue: improve SkFromValue<T> implementationGravatar mtklein2016-01-20
| | | | | | | | | | Add template<> bool SkFromValue<float>(const SkValue&, float*); Refactor template<> bool SkFromValue<SkMatrix>(const SkValue&, SkMatrix*); BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605093003 Review URL: https://codereview.chromium.org/1605093003
* SkNx miplevel buildingGravatar mtklein2016-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | All sizes approximately twice as fast. Before: micros bench 1649.35 mipmap_build_512x512 nonrendering 1824.42 mipmap_build_511x512 nonrendering 2100.66 ? mipmap_build_512x511 nonrendering 2375.94 mipmap_build_511x511 nonrendering After: micros bench 730.32 ! mipmap_build_512x512 nonrendering 922.12 mipmap_build_511x512 nonrendering 999.07 mipmap_build_512x511 nonrendering 1342.93 ! mipmap_build_511x511 nonrendering BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606013003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Committed: https://skia.googlesource.com/skia/+/3bd5aba2a0e165997f683cf3aa306661e71464f6 Review URL: https://codereview.chromium.org/1606013003
* replace arcto quads with a conicGravatar caryclark2016-01-20
| | | | | | | | | | | also, remove code used only for the quad generation R=reed@google.com BUG=578885 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612543003 Review URL: https://codereview.chromium.org/1612543003
* change kMedium_SkFilterQuality to never pop if we're scalingGravatar reed2016-01-20
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605193002 Review URL: https://codereview.chromium.org/1605193002
* SkValue: implementation, unit testGravatar halcanary2016-01-20
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1604253002 Review URL: https://codereview.chromium.org/1604253002
* Add SkPath::isLastContourClosed()Gravatar fs2016-01-20
| | | | | | | | | | | | | | Adds a simple method for checking if the last command/verb in the current contour is a 'close'. This will simplify determining "closedness" for blink::Path, and aid in the implementation of algorithms such as: https://drafts.fxtf.org/motion-1/#motion-processing (second item in list) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1601103006 Review URL: https://codereview.chromium.org/1601103006
* Revert of SkNx miplevel building (patchset #3 id:40001 of ↵Gravatar mtklein2016-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1606013003/ ) Reason for revert: Paranoid revert to see if it helps skia:4823 Original issue's description: > SkNx miplevel building > > All sizes approximately twice as fast. > > Before: > micros bench > 1649.35 mipmap_build_512x512 nonrendering > 1824.42 mipmap_build_511x512 nonrendering > 2100.66 ? mipmap_build_512x511 nonrendering > 2375.94 mipmap_build_511x511 nonrendering > > After: > micros bench > 730.32 ! mipmap_build_512x512 nonrendering > 922.12 mipmap_build_511x512 nonrendering > 999.07 mipmap_build_512x511 nonrendering > 1342.93 ! mipmap_build_511x511 nonrendering > > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606013003 > CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/3bd5aba2a0e165997f683cf3aa306661e71464f6 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/1607323002
* remove fragile assertGravatar reed2016-01-20
| | | | | | | | | | | | | The assert basically wants the following to always be true (but it aint) floor(int + 0.5 + float) == floor(0.5 + float) + int ... where int + 0.5 happens first, and then we add the float. BUG=skia:4825 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1609873003 Review URL: https://codereview.chromium.org/1609873003
* Revert of sdf: use linear edge distance approximation for all gradient ↵Gravatar mtklein2016-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | directions (patchset #1 id:1 of https://codereview.chromium.org/1545893003/ ) Reason for revert: breaks roll? https://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/81753 Original issue's description: > sdf: use linear edge distance approximation for all gradient directions > > Image diff tools tell me there are diffs, but I sure can't see them. > This drops edge_distance() off the chart as far as CPU cost goes. > > BUG=skia:4729 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1545893003 > > Committed: https://skia.googlesource.com/skia/+/8a87bb4d5c23da83ef406ef87b470afa4217d7a4 TBR=jvanverth@google.com,bsalomon@google.com,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:4729 Review URL: https://codereview.chromium.org/1603953005
* don't preround in bitmap scaling setupGravatar reed2016-01-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607853003 Review URL: https://codereview.chromium.org/1607853003
* sdf: use linear edge distance approximation for all gradient directionsGravatar mtklein2016-01-19
| | | | | | | | | | Image diff tools tell me there are diffs, but I sure can't see them. This drops edge_distance() off the chart as far as CPU cost goes. BUG=skia:4729 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1545893003 Review URL: https://codereview.chromium.org/1545893003
* SkNx miplevel buildingGravatar mtklein2016-01-19
| | | | | | | | | | | | | | | | | | | | | | | | All sizes approximately twice as fast. Before: micros bench 1649.35 mipmap_build_512x512 nonrendering 1824.42 mipmap_build_511x512 nonrendering 2100.66 ? mipmap_build_512x511 nonrendering 2375.94 mipmap_build_511x511 nonrendering After: micros bench 730.32 ! mipmap_build_512x512 nonrendering 922.12 mipmap_build_511x512 nonrendering 999.07 mipmap_build_512x511 nonrendering 1342.93 ! mipmap_build_511x511 nonrendering BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606013003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1606013003
* exclude new function from legacy code pathGravatar caryclark2016-01-19
| | | | | | | | | hopefully fixes the broken roll TBR=dogben@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1605023002 Review URL: https://codereview.chromium.org/1605023002
* fix circular dashingGravatar caryclark2016-01-19
| | | | | | | | | | | | | | | | | | | | | Path measure cannot use the same code approach for quadratics and cubics. Subdividing cubics repeatedly does not result in subdivided t values, e.g. a quarter circle cubic divided in half twice does not have a t value equivalent to 1/4. Instead, always compute the cubic segment from a pair of t values. When finding the length of the cubic through recursive measures, it is enough to carry the point at a given t to the next subdivision. (Chrome suppression has landed already.) R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1602153002 Review URL: https://codereview.chromium.org/1602153002
* SkStream/Priv cleanupsGravatar scroggo2016-01-19
| | | | | | | | | | | | Replace all callers of SkCopyStreamToStorage with SkCopyStreamToData, which is simpler and does the same thing. Remove SkStreamRewindableFromSkStream, which is unused. BUG=skia:4788 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1604963002 Review URL: https://codereview.chromium.org/1604963002
* remove SK_SUPPORT_LEGACY_MIPLEVEL_BUILDER codeGravatar reed2016-01-17
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1599133002 TBR= Review URL: https://codereview.chromium.org/1599133002
* use pixmaps in mipmap apiGravatar reed2016-01-16
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1598803002 Review URL: https://codereview.chromium.org/1598803002
* speedup mip buildersGravatar reed2016-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. push the inner-loop into the procs 2. for the 3x3 and 3x2 cases, skip the redundant horizontal read/expand Some before/after timings (unfortunately there's a lot of variance) -- on MacBook Air Before 9/9 MB 1 1.45ms 1.65ms 1.92ms 2.93ms 31% ▂█▂▁▁▁▂█▆▂ nonrendering mipmap_build_512x512 9/9 MB 1 1.85ms 2.33ms 2.47ms 3.69ms 28% ▃██▄▃▂▁▂▁▁ nonrendering mipmap_build_511x512 9/9 MB 1 2.15ms 2.21ms 2.37ms 3.28ms 15% █▂▂▁▁▁▁▅▁▁ nonrendering mipmap_build_512x511 9/9 MB 1 2.74ms 3.9ms 4.03ms 5.89ms 25% ▄▂▃▄█▂▁▂▇▅ nonrendering mipmap_build_511x511 After 10/10 MB 1 1.08ms 1.09ms 1.1ms 1.18ms 3% ▁▁▁▁▁▁▁█▃▁ nonrendering mipmap_build_512x512 10/10 MB 1 1.22ms 1.44ms 1.66ms 2.83ms 30% ▂▂▄▁▁▃█▅▂▁ nonrendering mipmap_build_511x512 10/10 MB 1 1.45ms 1.91ms 2.04ms 3.75ms 36% ▁▁▁▃▅█▃▂▂▂ nonrendering mipmap_build_512x511 10/10 MB 1 1.7ms 1.7ms 1.81ms 2.41ms 13% █▁▁▁▁▁▁▁▁▄ nonrendering mipmap_build_511x511 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1593073002 Review URL: https://codereview.chromium.org/1593073002
* use triangle filter for odd dimensions in mip-levelsGravatar reed2016-01-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1592473002 Review URL: https://codereview.chromium.org/1592473002
* add SkNx::abs(), for now only implemented for Sk4fGravatar mtklein2016-01-15
| | | | | | | | | | | There's no reason we couldn't implement this for all ints and floats; just don't want to land unused code. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1590843003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1590843003
* Revert of Create an SkCodecImageGenerator (patchset #10 id:260001 of ↵Gravatar msarett2016-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1487683004/ ) Reason for revert: Core doesn't know about Codec. Original issue's description: > Create an SkCodecImageGenerator > > BUG=skia: > > patch from issue 1396323007 at patchset 120001 (http://crrev.com/1396323007#ps120001) > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1487683004 > > Committed: https://skia.googlesource.com/skia/+/e1102ce1d3d0895e840e756e155ec56b5a1a7540 TBR=reed@google.com,scroggo@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/1582373003
* sketch SkValue APIGravatar mtklein2016-01-14
| | | | | | | | | | I think we may be trying to take too many steps at once. Let's try starting from an API and evolving from there? BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1589953003 Review URL: https://codereview.chromium.org/1589953003
* Create an SkCodecImageGeneratorGravatar msarett2016-01-14
| | | | | | | | | BUG=skia: patch from issue 1396323007 at patchset 120001 (http://crrev.com/1396323007#ps120001) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1487683004 Review URL: https://codereview.chromium.org/1487683004
* remove unused SkBitmapFilter::AllocateGravatar reed2016-01-14
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1589683004 TBR= Review URL: https://codereview.chromium.org/1589683004
* add explicit bench for raw bitmapscalerGravatar reed2016-01-14
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1586803003 patch from issue 1586803003 at patchset 20001 (http://crrev.com/1586803003#ps20001) TBR= Review URL: https://codereview.chromium.org/1588113002
* Refactor to use GrWrapTextureInBitmap moreGravatar robertphillips2016-01-14
| | | | | | | | Too many wrap_texture methods! GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584933002 Review URL: https://codereview.chromium.org/1584933002
* Optimized premultiplying swizzles for NEONGravatar msarett2016-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves decode performance for RGBA encoded PNGs. Swizzle Time on Nexus 9 (with clang): SwapPremul 0.44x Premul 0.44x Decode Time On Nexus 9 (with clang): ZeroInit Decodes 0.85x Regular Decodes 0.86x Swizzle Time on Nexus 6P (with clang) SwapPremul 0.14x Premul 0.14x Decode Time On Nexus 6P (with clang): ZeroInit Decodes 0.93x Regular Decodes 0.95x Notes: ZeroInit means memory is zero initialized, and we do not write to memory for large sections of zero pixels (memory use opt for Android). A profile on Nexus 9 shows that the premultiplication step of PNG decoding is now ~5% of decode time (down from ~20%). BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577703006 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1577703006
* Fix fuzzer-found deserialization bugsGravatar ajuma2016-01-13
| | | | | | | | | This fixes deserialization bugs found by fuzzing SkPaintImageFilter. BUG=576908,576910 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1589533002 Review URL: https://codereview.chromium.org/1589533002
* Allow Resize to be called w/ a preallocated pixmapGravatar reed2016-01-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1588653002 Review URL: https://codereview.chromium.org/1588653002
* reorg global initialization, separating core from optionalGravatar reed2016-01-13
| | | | | | | | | Chrome will be changed to just inherit our files, with no need to have their own copy. see https://codereview.chromium.org/1581533007/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1580873002 Review URL: https://codereview.chromium.org/1580873002
* SkTime: Stop using POSIX entensions to time.h for timezoneGravatar halcanary2016-01-12
| | | | | | | | | | | | | | | | | | SkTime::GetDateTime() isn't used anywhere in production, so change it to return current UTC time, rather than local time. Also, move code into SkTime out of ports. A later CL will remove empty files. BUG=skia:4736 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1562943002 [mtklein] Only deleting unused API. TBR=reed@google.com Review URL: https://codereview.chromium.org/1562943002
* Refactor resize filter to go fasterGravatar caryclark2016-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of this CL improves the speed by using dynamic arrays more effectively. Part uses SIMD and more concise float expressions for speed. Some unused code was deleted. The latter changes are guarded by: SK_SUPPORT_LEGACY_BITMAP_FILTER until this lands and the corresponding layout changes in chrome can be relanded. With the legacy flag defined, no Skia or Chrome test results change. Without the flag defined in Skia, only 0.01% - 0.02% of the pixels change, and then by (1,1,1) in 8888. codereview.chromium.org/1583533002 adds the guard to Chrome. R=reed@google.com BUG=skia:2261 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1563183003 Review URL: https://codereview.chromium.org/1563183003
* Fix SkTileImageFilter when srcRect is a superset of bitmap bounds.Gravatar senorblanco2016-01-11
| | | | | | | | | | | | | | | | | | | | If the input bitmap passed to SkTileImageFilter does not fill the srcRect, we were tiling this incorrectly (see the first sample from tileimage filter -- it draws from a srcRect of 12,12 50x50 to a dstRect of 0,0 50x50. There should be no tiling at all in this case!) In order to fix this, we need to pad the bitmap out to srcRect, and tile with that. In order to tile correctly in the GPU case, we need to request a tileable texture. NOTE: this will change the results of the tileimagefilter GM (correctness, and added src / dest rects). BUG=skia:4774 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1570133003 Review URL: https://codereview.chromium.org/1570133003
* remove external header for SkModeColorFilterGravatar reed2016-01-11
| | | | | | | BUG=skia:4791 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577073002 Review URL: https://codereview.chromium.org/1577073002
* Make SkBitmap::CopyTo respect requested dst color type when bitmap is ↵Gravatar bsalomon2016-01-11
| | | | | | | | | texture backed. BUG=chromium:550559 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1576983002 Review URL: https://codereview.chromium.org/1576983002
* restore lost optimization when the shader can report const_in_yGravatar reed2016-01-11
| | | | | | | | | accidentally lost we I landed https://codereview.chromium.org/1556003003 BUG=575905 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1576083002 Review URL: https://codereview.chromium.org/1576083002
* remove imagefilter::sizeconstraintGravatar reed2016-01-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1571033002 Review URL: https://codereview.chromium.org/1571033002
* Fix radii calculation code to handle large radii.Gravatar herb2016-01-11
| | | | | | | BUG=472147 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1569403002 Review URL: https://codereview.chromium.org/1569403002
* Make SkROBuffer::Iter::size() work when exhaustedGravatar scroggo2016-01-11
| | | | | | | | | | | According to the documentation, this method will return 0 when the Iter is exhausted. Prior to this CL, it crashes instead. Prevent a crash with a null fHead, and add a test to verify the behavior. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574603002 Review URL: https://codereview.chromium.org/1574603002
* Implement an SkPaint-based image filterGravatar ajuma2016-01-08
| | | | | | | | | | | This implements SkPaintImageFilter, and is intended to replace SkRectShaderImageFilter. By allowing a paint and not just a shader as input, this allows consumers to control dithering. BUG=skia:4780 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556553002 Review URL: https://codereview.chromium.org/1556553002
* Clean up SkXfermode_opts.hGravatar mtklein2016-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | It seems that MSVC + __vectorcall don't play well together, so back ourselves out into a situation where we don't need it. - Inline transfermode functions. This removes the need for SK_VECTORCALL. - Remove 565 destination specializations. Blending into 565 is not speed-critical enough to merit the code bloat. - Removing 565 specializations means a bunch of Sk4px code is now dead. 8888 xfermodes generally speed up a bit from inlining, smoothly ranging from no change down to 0.65x for the fastest functions like Plus or Modulate. 565 xfermodes generally slow down because we're doing 565 -> 8888 and 8888->565 conversion serially[1] and using the stack, smoothly ranging from no change up to 2x slower for the fastest functions like Plus and Modulate. [1] the 565->8888 conversion is actually being autovectorized BUG=skia:4765,skia:4776 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1565223002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1565223002