aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurMask.cpp
Commit message (Collapse)AuthorAge
* Remove SkAutoTDeleteArrayGravatar Ben Wagner2016-11-02
| | | | | | | | | | | | This class is already just an alias for std::unique_ptr<T[]>, so replace all uses with that and delete the class. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN-Trybot Change-Id: I40668d398356a22da071ee791666c7f728b59266 Reviewed-on: https://skia-review.googlesource.com/4362 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Style bikeshed - remove extraneous whitespaceGravatar halcanary2016-03-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002 Review URL: https://codereview.chromium.org/1842753002
* detach -> releaseGravatar mtklein2016-03-16
| | | | | | | | | | | | | The C++ standard library uses the name "release" for the operation we call "detach". Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete). This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002 Review URL: https://codereview.chromium.org/1809733002
* Revert of Have GrRectBlurEffect use Linear filtering (rather than Nearest ↵Gravatar robertphillips2015-10-04
| | | | | | | | | | | | | | | | | | | | | Neighbor) (patchset #2 id:20001 of https://codereview.chromium.org/1378023004/ ) Reason for revert: Trial run confirmed layout test expectations - will reland after suppressions Original issue's description: > Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor) > > Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db > > Committed: https://skia.googlesource.com/skia/+/5175b9563055926b4969d57f06e4ae49b86e055b TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1378813004
* Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)Gravatar robertphillips2015-10-04
| | | | | | Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db Review URL: https://codereview.chromium.org/1378023004
* Add special case circle blur for GaneshGravatar robertphillips2015-09-15
| | | | | | | | This makes the blurcircles bench go from ~33us to ~8us on Windows desktop. It will require layout test suppressions Review URL: https://codereview.chromium.org/1311583005
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Style Change: SkNEW->new; SkDELETE->deleteGravatar halcanary2015-08-26
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
* add asAShadowBlur for android to drawlooperGravatar reed@google.com2014-04-29
| | | | | | | | | BUG=skia: R=djsollen@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/253633003 git-svn-id: http://skia.googlecode.com/svn/trunk@14431 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fast path for blurred round rects -- blur a small 9patch rect on the CPUGravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | | | | | | | | And nonlinearly stretch the resulting texture across proxy geometry. BUG= Committed: http://code.google.com/p/skia/source/detail?r=14392 Committed: http://code.google.com/p/skia/source/detail?r=14404 R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/248613004 git-svn-id: http://skia.googlecode.com/svn/trunk@14420 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert humper changesGravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | | | | | | | https://skia.googlesource.com/skia.git/+/24e91ba3029a3a1fb60cab3ae4e68c3c44776f25 https://skia.googlesource.com/skia.git/+/a36c78240e14aeb130a97c43f3992ea19696b929 NOTREECHECKS=true BUG=skia: R=caryclark@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/256803011 git-svn-id: http://skia.googlecode.com/svn/trunk@14414 2bbb7eff-a529-9590-31e7-b0007b416f81
* move common blur types into central headerGravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/253833002 git-svn-id: http://skia.googlecode.com/svn/trunk@14411 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fast path for blurred round rects -- blur a small 9patch rect on the CPUGravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | | | | | | And nonlinearly stretch the resulting texture across proxy geometry. BUG= Committed: http://code.google.com/p/skia/source/detail?r=14392 R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/248613004 git-svn-id: http://skia.googlecode.com/svn/trunk@14404 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Fast path for blurred round rects -- blur a small 9patch rect on ↵Gravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | the CPU (https://codereview.chromium.org/248613004/) Reason for revert: Looks like this causes unit tests to fail with a zero constructor like this one: http://108.170.220.120:10117/builders/Test-Win7-ShuttleA-HD2000-x86-Release/builds/2326/steps/RunTests/logs/stdio Original issue's description: > Fast path for blurred round rects -- blur a small 9patch rect on the CPU > And nonlinearly stretch the resulting texture across proxy geometry. > > BUG= > > Committed: http://code.google.com/p/skia/source/detail?r=14392 R=bsalomon@google.com, reed@google.com, humper@google.com TBR=bsalomon@google.com, humper@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG= Author: caryclark@google.com Review URL: https://codereview.chromium.org/258893010 git-svn-id: http://skia.googlecode.com/svn/trunk@14400 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fast path for blurred round rects -- blur a small 9patch rect on the CPUGravatar commit-bot@chromium.org2014-04-28
| | | | | | | | | | | | | And nonlinearly stretch the resulting texture across proxy geometry. BUG= R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/248613004 git-svn-id: http://skia.googlecode.com/svn/trunk@14392 2bbb7eff-a529-9590-31e7-b0007b416f81
* plumb API for analytic rrect blurGravatar commit-bot@chromium.org2014-03-10
| | | | | | | | | | | BUG=skia:2281 R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/189663012 git-svn-id: http://skia.googlecode.com/svn/trunk@13733 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13258 2bbb7eff-a529-9590-31e7-b0007b416f81
* patch from issue 119343003Gravatar commit-bot@chromium.org2014-01-30
| | | | | | | | | | | | | | | compile on 10.6, exclude failing gms Sorry for making another CL; rebasing ToT on the old one ended up with code in a tangled mess; was easier to start over. NOTRY=true R=bsalomon@google.com, epoger@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/148883005 git-svn-id: http://skia.googlecode.com/svn/trunk@13238 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Fast blurred rectangles on GPU ↵Gravatar commit-bot@chromium.org2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/119343003/) Reason for revert: Two problems: 1. broke compile on Build-Mac10.6-* bots 2. broke GM expectations on many bots We'll need to examine the GM impact before re-landing. I can work with you to do this on Tuesday if you like; just IM or email me. Original issue's description: > Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome. > > BUG= > > Committed: http://code.google.com/p/skia/source/detail?r=13210 R=bsalomon@google.com, reed@google.com, humper@google.com, rmistry@google.com TBR=bsalomon@google.com, humper@google.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG= Author: epoger@google.com Review URL: https://codereview.chromium.org/140853008 git-svn-id: http://skia.googlecode.com/svn/trunk@13213 2bbb7eff-a529-9590-31e7-b0007b416f81
* Perform the same analytic blur calculation on the GPU that we do on the CPU. ↵Gravatar commit-bot@chromium.org2014-01-27
| | | | | | | | | | | | | Results in significant performance gains when using Ganesh to render drop shadows in Chrome. BUG= R=bsalomon@google.com, reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/119343003 git-svn-id: http://skia.googlecode.com/svn/trunk@13210 2bbb7eff-a529-9590-31e7-b0007b416f81
* deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. ↵Gravatar reed@google.com2013-12-17
| | | | | | | | | | | #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients BUG= R=robertphillips@google.com Review URL: https://codereview.chromium.org/111353003 git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFloatToScalar macroGravatar commit-bot@chromium.org2013-11-25
| | | | | | | | | | | BUG= R=reed@google.com, djsollen@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/85463005 git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove some now-unused #ifdefs.Gravatar senorblanco@chromium.org2013-11-12
| | | | | | | | R=mtklein@google.com, mtklein, reed@google.com Review URL: https://codereview.chromium.org/68473003 git-svn-id: http://skia.googlecode.com/svn/trunk@12246 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add test to exercise extreme blur sigmasGravatar robertphillips@google.com2013-09-05
| | | | | | | | https://codereview.chromium.org/23530039/ git-svn-id: http://skia.googlecode.com/svn/trunk@11099 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-08-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10968 2bbb7eff-a529-9590-31e7-b0007b416f81
* Blur refactoringGravatar robertphillips@google.com2013-08-27
| | | | | | | | https://codereview.chromium.org/21835004/ git-svn-id: http://skia.googlecode.com/svn/trunk@10936 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix quickReject computation for blursGravatar robertphillips@google.com2013-07-30
| | | | | | | | https://codereview.chromium.org/17035007/ git-svn-id: http://skia.googlecode.com/svn/trunk@10428 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove the non-separable blur because it is no longer used.Gravatar commit-bot@chromium.org2013-06-11
| | | | | | | | | | R=senorblanco@chromium.org, reed@google.com Author: arbesfeld@chromium.org Review URL: https://chromiumcodereview.appspot.com/16750002 git-svn-id: http://skia.googlecode.com/svn/trunk@9503 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8090 2bbb7eff-a529-9590-31e7-b0007b416f81
* add proper support for solid style, and temporarily turn off my change so ↵Gravatar humper@google.com2013-03-11
| | | | | | the bots can go green | git-svn-id: http://skia.googlecode.com/svn/trunk@8085 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix pad bug introduced during code cleanupGravatar humper@google.com2013-03-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8083 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix build warningsGravatar humper@google.com2013-03-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8078 2bbb7eff-a529-9590-31e7-b0007b416f81
* Plumb fast rectangle blur code into the skia mask filterGravatar humper@google.com2013-03-11
| | | | | | Review URL: https://codereview.chromium.org/12387099 git-svn-id: http://skia.googlecode.com/svn/trunk@8074 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-02-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7803 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix compile errors in blur code on Windows.Gravatar jvanverth@google.com2013-02-20
| | | | | | | Various typecasts to remove warnings and get this code building on Windows. git-svn-id: http://skia.googlecode.com/svn/trunk@7797 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove blur radius reinterpretation for now to make rebaselining simpler and ↵Gravatar humper@google.com2013-02-20
| | | | | | | | | | avoid significant changes to webkit and JNI -- those come later BUG= Review URL: https://codereview.appspot.com/7391043 git-svn-id: http://skia.googlecode.com/svn/trunk@7795 2bbb7eff-a529-9590-31e7-b0007b416f81
* Complete the implementation of the faster blur; now supports all blur styles ↵Gravatar humper@google.com2013-02-20
| | | | | | | | and matches the boxfilter approximation visually. Also change the interpretation of the blur radius to be sigma/2; need to add SK_IGNORE_BLUR_RADIUS_CORRECTNESS to chromium GYP to avoid immediate layout test failures over there. Review URL: https://codereview.appspot.com/7307076 git-svn-id: http://skia.googlecode.com/svn/trunk@7793 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-02-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7787 2bbb7eff-a529-9590-31e7-b0007b416f81
* Enable blur rounding (unreviewed).Gravatar senorblanco@chromium.org2013-02-19
| | | | | | At a minimum, the following tests will need a rebaseline: tilemodes, texteffects, shadows, drawlooper, drawbitmaprect, circles, blurrect, blurs, drawbitmapmatrix. git-svn-id: http://skia.googlecode.com/svn/trunk@7769 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add rounding to the separable blurs. This should ensure that the box blurs ↵Gravatar senorblanco@chromium.org2013-02-19
| | | | | | | | | | are energy-preserving (ie., blurring solid 255 alpha stays 255 alpha). Disabled by default; will enable & rebaseline. Review URL: https://codereview.appspot.com/7350043 git-svn-id: http://skia.googlecode.com/svn/trunk@7768 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix leaks in blurrect benchs and gm.Gravatar bsalomon@google.com2013-01-11
| | | | | | Review URL: https://codereview.appspot.com/7071060 git-svn-id: http://skia.googlecode.com/svn/trunk@7142 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleaned up warnings in Windows build.Gravatar jvanverth@google.com2013-01-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7057 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7038 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added a new function to directly generate a blurred rectangle analytically.Gravatar humper@google.com2013-01-04
| | | | | | | | | Added two new microbenchmarks to demonstrate speedup over existing BlurSeparable approach. Added new GM tests for blurred rectangles. Review URL: https://codereview.appspot.com/7037050 git-svn-id: http://skia.googlecode.com/svn/trunk@7034 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modify the blur bench to add tests for high-quality blurs, and large ↵Gravatar senorblanco@chromium.org2012-11-29
| | | | | | | | | | non-integer blurs. Change the Coarse flag (which just turns on separable blurs) to an #ifdef, since separable is no longer just Coarse. (This #ifdef will hopefully be shortlived, once Chrome has switched). The separable blur algorithm gives +45% on SampleBlur, +84% on SampleBigBlur, +31% on TheVerge, +35 to +85% on blurbench in HQ (depending on size), +8 to +35% in low quality. (All of these on 32bit MacPro). Review URL: https://codereview.appspot.com/6851117 git-svn-id: http://skia.googlecode.com/svn/trunk@6601 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement radius interpolation for separable blur. Unroll both separable ↵Gravatar senorblanco@chromium.org2012-11-27
| | | | | | | | implementations, which yields up to 2X perf improvement. Review URL: https://codereview.appspot.com/6850088 git-svn-id: http://skia.googlecode.com/svn/trunk@6576 2bbb7eff-a529-9590-31e7-b0007b416f81
* Separable mask blurs: Add compile-time flag. Fix reversed offsets in ↵Gravatar senorblanco@chromium.org2012-11-20
| | | | | | | | asymmetrical blurs (this bug cancels itself out, but I thought it might be confusing for future readers). Use correct stride in asymmetrical blurs (this is a real bug). Review URL: https://codereview.appspot.com/6782089 git-svn-id: http://skia.googlecode.com/svn/trunk@6508 2bbb7eff-a529-9590-31e7-b0007b416f81
* Separable blur: subpixel blurring. We approximate intermediate values of ↵Gravatar senorblanco@chromium.org2012-11-16
| | | | | | | | | | blur for even kernel sizes by using a kernel of size N offset to the left in the first pass, a kernel of size N offset to the right in the second pass, and a centered kernel of size N + 1 in the third pass. This required adding support for asymmetrical radii to the box blur. Since this can only be done in the 3-pass blur for separable blurs, we turn off the optimization that drops to low quality for blurs of < 3 pixels. Review URL: https://codereview.appspot.com/6843072 git-svn-id: http://skia.googlecode.com/svn/trunk@6464 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-11-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6447 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reorder the separable blur passes into XXX/YYY, with an image transpose on ↵Gravatar senorblanco@chromium.org2012-11-15
| | | | | | | | the last pass of each group. This results in continuguous memory reads in all passes, giving a 22% speedup on theverge.skp over the previous separable implementation, and a 30%-50% improvement over the existing implementation (depending on platform). Review URL: https://codereview.appspot.com/6851053 git-svn-id: http://skia.googlecode.com/svn/trunk@6445 2bbb7eff-a529-9590-31e7-b0007b416f81