aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurMask.cpp
Commit message (Collapse)AuthorAge
* 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
* Build fix. Unreviewed.Gravatar senorblanco@chromium.org2012-11-13
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6406 2bbb7eff-a529-9590-31e7-b0007b416f81
* A new implementation of mask blurs, using separable X/Y passes. Disabled ↵Gravatar senorblanco@chromium.org2012-11-13
| | | | | | | | for now. Review URL: https://codereview.appspot.com/6826086 git-svn-id: http://skia.googlecode.com/svn/trunk@6404 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix the string we're checking for in the #if defined(), so that loops ↵Gravatar tomhudson@google.com2012-01-11
| | | | | | | | | | actually do get unrolled on Windows (15% perf win claimed many months ago). http://codereview.appspot.com/5528078 git-svn-id: http://skia.googlecode.com/svn/trunk@3019 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");Gravatar tomhudson@google.com2011-12-28
| | | | | | | | | | catch a couple of latent SkASSERT("text") bugs. http://codereview.appspot.com/5504090/ git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
* Unroll loops in SkBlurMask for speedup on Windows (benchmarks should seeGravatar tomhudson@google.com2011-11-28
| | | | | | | | 15% on interpolated blurs, 5-10% on simple blurs). git-svn-id: http://skia.googlecode.com/svn/trunk@2755 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add fractional-radius blurs to blur benchmark.Gravatar tomhudson@google.com2011-11-22
| | | | | | | | | Specialize loops in apply_kernel and apply_kernel_interp, improving blur benchmark performance by 25%. git-svn-id: http://skia.googlecode.com/svn/trunk@2731 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkMath.h less visible in public header files.Gravatar tomhudson@google.com2011-09-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2340 2bbb7eff-a529-9590-31e7-b0007b416f81