aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkConvolver.cpp
Commit message (Collapse)AuthorAge
* 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
* Comments Style: s/skbug.com/bug.skia.org/Gravatar halcanary2015-11-07
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1432503003 Review URL: https://codereview.chromium.org/1432503003
* 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
* 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
* disable autovec on 32 *and* 64 bit builds for horiz. convolveGravatar humper2014-08-28
| | | | | | | | | | | Works around some garbage bottom rows for certain scaled images. Will land a separate GM that demonstrates. BUG=skia: R=mtklein@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/513833003
* Adding 64 bit checksGravatar sugoi2014-07-03
| | | | | | | | | | | | | Added a few more checks to avoid overflowing 32 bit sizes while computing convolutions. I also changed a dangerously misleading INHERITED typedef. BUG=389570 R=senorblanco@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/361403006
* Add noinline for GCC 4.6, which seems to vectorize after inlining.Gravatar mtklein2014-06-25
| | | | | | | | | | | GCC 4.7 and 4.8 don't need this, but we're not building with them so it doesn't hurt. BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/343423003
* Narrow disabled vectorization further to just ConvolveHorizontally.Gravatar mtklein2014-06-25
| | | | | | | | | BUG=skia:2575 R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/352883002
* try release onlyGravatar Mike Klein2014-06-25
|
* disable on naclGravatar Mike Klein2014-06-25
|
* Focus disabled optimizations on just BGRAConvolve2D, and only 32-bit.Gravatar mtklein2014-06-25
| | | | | | | | | | | | Last CL accidentally disabled autovectorization on 64-bit builds too. This fixes that. BUG=skia:2575 R=rmistry@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/353823005
* Support for larger than "signed 32b limit" sized bitmaps in BGRAConvolve2D.Gravatar sugoi2014-06-11
| | | | | | | | | | | The multiplication of 2 signed ints was producing a result larger than what's supported by a single signed int and the memory was accessed out of bounds. Using uint64_t solves the issue. BUG=378491 R=reed@google.com, rmistry@google.com Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/323013005
* Revert of Manually set fFilterValues in SkConvolutionFilter1D Gravatar rmistry@google.com2014-03-06
| | | | | | | | | | | | | | | | | | Revert of https://codereview.chromium.org/184323003 Reason for revert: Caused unexpected CompareGM failures- http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86_64-Debug/builds/461/steps/CompareGMs/logs/stdio http://108.170.217.252:10117/builders/Test-Win7-ShuttleA-HD2000-x86_64-Release/builds/2062/steps/CompareGMs/logs/stdio http://108.170.217.252:10117/builders/Test-ChromeOS-Alex-GMA3150-x86-Release/builds/1400/steps/CompareGMs/logs/stdio TBR= NOTREECHECKS=True NOTRY=True git-svn-id: http://skia.googlecode.com/svn/trunk@13683 2bbb7eff-a529-9590-31e7-b0007b416f81
* Manually set fFilterValues in SkConvolutionFilter1D.Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | | | | | | Using fFilterValues.reset() or a loop of fFilterValues.push_back() is about 5x slower than calling fFilterValues.resize_back() and then looping using primitive [] and =. This is only going to show up if you apply https://codereview.chromium.org/183763047/, where it yields about 2.5% speedup in the bitmap resize microbenchmarks on a Linux desktop. Ceteris paribus, it should actually improve rasterization time of drawBitmapRectToRect() with a resize by about 5% in Chromium. BUG=skia:2258 R=humper@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/184323003 git-svn-id: http://skia.googlecode.com/svn/trunk@13681 2bbb7eff-a529-9590-31e7-b0007b416f81
* 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
* remove unused functionGravatar humper@google.com2013-07-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10208 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