aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurMask.cpp
Commit message (Collapse)AuthorAge
* 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
* Reduce size of filter mask.Gravatar bungeman@google.com2011-09-02
| | | | | | | | | http://codereview.appspot.com/4965057/ Reduce the size of filter masks, fix HQ blur when clipped, and add tests. git-svn-id: http://skia.googlecode.com/svn/trunk@2211 2bbb7eff-a529-9590-31e7-b0007b416f81
* style cleanupGravatar reed@google.com2011-08-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@2104 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* [Committed on behalf of junov@chromium.org]Gravatar senorblanco@chromium.org2011-02-18
| | | | | | | | | | | | | | | Fixed rendering of shadows under bitmaps. Added an option to SkBlurMask to produce higher quality blurs. The HQ blur option is propagated through SkBlurDrawLooper so that it can be invoked by WebKit for drawing shadows. Added a shadow rendering test to gm. Bugs fixed: 146, 150 Related Chromium bugs: 11153, 42654 Code review: http://codereview.appspot.com/4174049 git-svn-id: http://skia.googlecode.com/svn/trunk@818 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix sumbuffer to initialize its top and left colum/row with zeros. Without ↵Gravatar reed@android.com2009-09-21
| | | | | | | | | | this fix we were effectively chopping off the top row of pixels when we computed a blur. git-svn-id: http://skia.googlecode.com/svn/trunk@358 2bbb7eff-a529-9590-31e7-b0007b416f81
* use rowbytes instead of bounds.width()Gravatar reed@android.com2009-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@356 2bbb7eff-a529-9590-31e7-b0007b416f81
* add ADD xfermodeGravatar reed@android.com2009-04-24
| | | | | | | | safely handle (don't draw) if the size of SkMask exceeds 31bits git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
* promote SkMask's rowBytes to 32bits, since its bounds is a 32bit rectGravatar reed@android.com2009-03-19
| | | | | | | | be sure a rect is sorted before using it as the path's bounds cache git-svn-id: http://skia.googlecode.com/svn/trunk@128 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81