aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkConvolver.h
Commit message (Collapse)AuthorAge
* Port convolve functions to SkOptsGravatar xiangze.zhang2016-11-17
| | | | | | | | | | | | This patch moves the C++/SSE2/NEON implementations of convolve functions into the same place and uses SkOpts framework. Also some indentation fix. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2500113004 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/2500113004
* Make SSE2/Neon convolution functions not to read extra bytesGravatar xiangze.zhang2016-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | This change makes SSE2/Neon horizontal convolution functions do not read extra pixels past the end of the buffer. So we can remove all the SIMD specific logic in SkConvolver to deal with last couple of rows and also avoid applying padding to convolution filters. Performance impact is small. Nanobench time change: SSE2 NEON bitmap_scale_filter_64_256 1% -2% bitmap_scale_filter_256_64 1% 2% bitmap_scale_filter_90_10 1% -1% bitmap_scale_filter_90_30 1% 0% bitmap_scale_filter_90_80 1% 0% bitmap_scale_filter_90_90 1% 1% bitmap_scale_filter_80_90 0% 0% bitmap_scale_filter_30_90 3% 6% bitmap_scale_filter_10_90 0% 2% BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481733003 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/2481733003
* 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
* add hard-coded limit for tmp allocations when HQ image scalingGravatar reed2015-10-01
| | | | | | BUG=528628 Review URL: https://codereview.chromium.org/1368393003
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Use static_assert instead of SK_COMPILE_ASSERT.Gravatar bungeman2015-08-20
| | | | | | | Now that static_assert is allowed, there is no need to use a non- standard compile time assertion Review URL: https://codereview.chromium.org/1306443004
* Plumb through out_row byte length so we can assert we stay underneath it.Gravatar mtklein2015-06-18
| | | | | | | | Sadly, not asserting for me yet. Can't hurt. BUG=chromium:491660 Review URL: https://codereview.chromium.org/1187173005
* Undef FloatToFixed and FixedToFloat as well in SkConvolver to avoid ↵Gravatar george2014-06-20
| | | | | | | | | | | confusion with OS X's maths library BUG=skia: R=reed@google.com Author: george@mozilla.com Review URL: https://codereview.chromium.org/326623004
* remove fConvolutionProcs from State, and just use it locallyGravatar reed@google.com2013-09-05
| | | | | | | | | BUG= R=humper@google.com Review URL: https://codereview.chromium.org/23796005 git-svn-id: http://skia.googlecode.com/svn/trunk@11118 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-07-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10223 2bbb7eff-a529-9590-31e7-b0007b416f81
* The image resampling code has been transplanted from Chrome; it's incredibly ↵Gravatar humper@google.com2013-07-19
fast. We've tested this CL plumbed into Chrome and done benchmarking with excellent results. This CL can land independent of any Chrome changes; it's completely internal to skia. BUG= R=reed@google.com Review URL: https://codereview.chromium.org/19335002 git-svn-id: http://skia.googlecode.com/svn/trunk@10206 2bbb7eff-a529-9590-31e7-b0007b416f81