aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurMaskFilter.cpp
Commit message (Collapse)AuthorAge
* Rename EmitArgs::fSamplers to fTexSamplersGravatar cdalton2016-04-11
| | | | | | | | | | | Renames fSamplers to fTexSamplers in GrProcessor EmitArgs, and renames GrGLSLTextureSampler to GrGLSLSampler. This will allow us to add a second array of buffer samplers. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862373003 Review URL: https://codereview.chromium.org/1862373003
* Add appendPrecisionModifier method to GrGLSLShaderBuilderGravatar cdalton2016-04-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1881513002 Review URL: https://codereview.chromium.org/1881513002
* SkSurfaceProps now has a gamma-correct ("AllowSRGBInputs") flag. That's ↵Gravatar brianosman2016-04-06
| | | | | | | | | | | | propagated in a few places so that the backend can do the right thing for L32 vs S32 mode. Also added SkSurfaceProps to SkSpecialImage, so that Image -> Surface conversion can preserve the desired behavior during filtering. Many small changes, including a bunch of comments about places where we may be losing information right now. My approach was to ensure that if anything fails, it will always fall back to "legacy" mode - gamma-correctness is opt-in, so I'll just have to feed things through as missing cases are exposed. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838953007 Review URL: https://codereview.chromium.org/1845283003
* switch maskfilters to sk_spGravatar reed2016-04-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852113003 Review URL: https://codereview.chromium.org/1852113003
* change flattenable factory to return sk_spGravatar reed2016-04-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1855733002 Review URL: https://codereview.chromium.org/1855733002
* 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
* Creating functions for uploading a mipmapped texture.Gravatar cblume2016-02-26
| | | | | | | BUG=476416 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1249543003 Review URL: https://codereview.chromium.org/1249543003
* Make GrRRectBlurEffect::onIsEqual include the roundrect's rectGravatar robertphillips2016-02-26
| | | | | | | BUG=skia:5014 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1743553003 Review URL: https://codereview.chromium.org/1743553003
* Move Budgeted enum out of SkSurface, use in GrTextureProviderGravatar bsalomon2016-02-25
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005 DOCS_PREVIEW= https://skia.org/?cl=1728093005 Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1728093005
* Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider ↵Gravatar bsalomon2016-02-25
| | | | | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/1728093005/ ) Reason for revert: Need workaround for chrome to build Original issue's description: > Move Budgeted enum out of SkSurface, use in GrTextureProvider > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005 > DOCS_PREVIEW= https://skia.org/?cl=1728093005 > > Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c TBR=reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1734043002
* Move Budgeted enum out of SkSurface, use in GrTextureProviderGravatar bsalomon2016-02-25
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005 DOCS_PREVIEW= https://skia.org/?cl=1728093005 Review URL: https://codereview.chromium.org/1728093005
* Add more specialized fragment buildersGravatar cdalton2016-02-18
| | | | | | | | | | | Adds specialized fragment builders for primitive and fragment processors. Removes fragment-specific functionality from the Xfer fragment builder. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709153002 Review URL: https://codereview.chromium.org/1709153002
* Add GrShaderFlags enumGravatar cdalton2016-02-11
| | | | | | | | | Replaces GrGLSLUniformHandler::ShaderVisibility with GrShaderFlags. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1684063006 Review URL: https://codereview.chromium.org/1684063006
* Next round of GrGLSLFragmentProcessor-derived class cleanupGravatar robertphillips2016-02-04
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661143003 Review URL: https://codereview.chromium.org/1661143003
* Clean up GrGLSLFragmentProcessor-derived classesGravatar robertphillips2016-02-03
| | | | | | | | In some other patches it was observed that many of the GrGLSLFragmentProcessor-derived classes needlessly pass a parameter to their constructors. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666773002 Review URL: https://codereview.chromium.org/1666773002
* Cleaning up trailing spaces and typos.Gravatar cblume2016-01-26
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631993002 Review URL: https://codereview.chromium.org/1631993002
* Refactor to use GrWrapTextureInBitmap moreGravatar robertphillips2016-01-14
| | | | | | | | Too many wrap_texture methods! GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584933002 Review URL: https://codereview.chromium.org/1584933002
* remove imagefilter::sizeconstraintGravatar reed2016-01-11
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1571033002 Review URL: https://codereview.chromium.org/1571033002
* Add default ctor to SkMaskGravatar robertphillips2015-12-17
| | | | | | | | | The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea. BUG=570232 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002 Review URL: https://codereview.chromium.org/1539553002
* Create GLSLUniformHandler class for gpu backendGravatar egdaniel2015-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1490283004
* Don't create a GXPFactory when blend is SrcOverGravatar egdaniel2015-11-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1471053002
* Move glsl onto EmitArgs struct for emitCodeGravatar egdaniel2015-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1453623003
* Add ShaderBuilders to EmitArgs and remove gettings from ProgBuilder.Gravatar egdaniel2015-11-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1457543003
* Rename some processor functions from GL to GLSLGravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1443743002
* Make all GrFragmentProcessors GL independent.Gravatar egdaniel2015-11-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1434313002
* Move all ShaderBuilder files to GLSLGravatar egdaniel2015-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1438003003
* Make SkBlurImageFilter capable of cropping during blur (GPU path).Gravatar senorblanco2015-11-10
| | | | | | | | | | | | | | | | | | | This is the GPU equivalent of https://codereview.chromium.org/1415653003/. It requires passing down the bounds of the crop rect (srcBounds), and turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: clear above and below srcBounds, blur with bounds checks inside left and right rects, blur without bounds checks in middle rect. Note: this change causes minor pixels diffs in the imagefilterscropexpand GM: for odd crop positions relative to the dstBounds, we are now correctly resampling at an even pixel boundary. BUG=skia:4502, skia:4526 Committed: https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42 Review URL: https://codereview.chromium.org/1431593002
* Revert of Make SkBlurImageFilter capable of cropping during blur (GPU path). ↵Gravatar egdaniel2015-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #15 id:260001 of https://codereview.chromium.org/1431593002/ ) Reason for revert: Causing valgrind error. Looks like the issue is in conolve_gaussiand_2d where bounds is not getting set if there is no srcBounds, but later on that bounds is being read in the creation of a TextureDomain. Original issue's description: > Make SkBlurImageFilter capable of cropping during blur (GPU path). > > This is the GPU equivalent of https://codereview.chromium.org/1415653003/. > > It requires passing down the bounds of the crop rect (srcBounds), and > turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: > clear above and below srcBounds, blur with bounds checks inside left and > right rects, blur without bounds checks in middle rect. > > Note: this change causes minor pixels diffs in the > imagefilterscropexpand GM: for odd crop positions relative to the > dstBounds, we are now correctly resampling at an even pixel boundary. > > BUG=skia:4502, skia:4526 > > Committed: https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42 TBR=bsalomon@google.com,senorblanco@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4502, skia:4526 Review URL: https://codereview.chromium.org/1407133019
* Make SkBlurImageFilter capable of cropping during blur (GPU path).Gravatar senorblanco2015-11-05
| | | | | | | | | | | | | | | | | This is the GPU equivalent of https://codereview.chromium.org/1415653003/. It requires passing down the bounds of the crop rect (srcBounds), and turning the blur 3-patch optimization in convolve_gaussian() into a 5-patch: clear above and below srcBounds, blur with bounds checks inside left and right rects, blur without bounds checks in middle rect. Note: this change causes minor pixels diffs in the imagefilterscropexpand GM: for odd crop positions relative to the dstBounds, we are now correctly resampling at an even pixel boundary. BUG=skia:4502, skia:4526 Review URL: https://codereview.chromium.org/1431593002
* Rename non-aa rect methods on GrDrawContext in anticipation of making them ↵Gravatar bsalomon2015-11-05
| | | | | | | | support aa R=joshualitt@google.com Review URL: https://codereview.chromium.org/1409753008
* Remove GrGLProcessor and create GrGLSLTextureSampler class.Gravatar egdaniel2015-10-29
| | | | | | | | Part ??? of separating glsl and gl BUG=skia: Review URL: https://codereview.chromium.org/1425013003
* Create GLSL base class for ProgramDataManagerGravatar egdaniel2015-10-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1428543003
* tunnel down texture-size-constraint to imagefiltersGravatar reed2015-10-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1421493003
* Move GrGLShaderVar to GrGLSLGravatar egdaniel2015-10-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1417123002
* Move shader precision modifier check onto GLSLCapsGravatar egdaniel2015-10-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1414373002
* Use the current OpengGL standard to determine blur precision, rather than kGLESGravatar Brian Salomon2015-10-20
| | | | | | TBR=ethannicholas@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1408123004 .
* Fix for GM:bigblurs not actually blurring some of the rectangles on Nexus 10.Gravatar ethannicholas2015-10-19
| | | | | | BUG=skia:2860 Review URL: https://codereview.chromium.org/1395693011
* GrDrawContext now holds GrRenderTarget pointerGravatar robertphillips2015-10-15
| | | | Review URL: https://codereview.chromium.org/1404823005
* Bye bye processor data manager.Gravatar bsalomon2015-10-06
| | | | Review URL: https://codereview.chromium.org/1388113002
* 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
* Revert of Have GrRectBlurEffect use Linear filtering (rather than Nearest ↵Gravatar robertphillips2015-10-01
| | | | | | | | | | | | | | | | | | | Neighbor) (patchset #1 id:1 of https://codereview.chromium.org/1378023004/ ) Reason for revert: Failing some Blink layout tests - will wait until after branch. Original issue's description: > Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor) > > Committed: https://skia.googlesource.com/skia/+/2d70bcccc9ba8f3898a7ae506ba7410ed8e9c9db TBR=bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1378323002
* Have GrRectBlurEffect use Linear filtering (rather than Nearest Neighbor)Gravatar robertphillips2015-09-30
| | | | 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
* Limit lifetime of GrDrawContext objectsGravatar robertphillips2015-09-01
| | | | | | GrDrawContext's are about to become real allocated objects. This CL sets up the machinery so they won't leak. Review URL: https://codereview.chromium.org/1321353002
* Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*Gravatar bsalomon2015-08-28
| | | | | | Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa Review URL: https://codereview.chromium.org/1316513002
* Revert of Change SkShader;asFragmentProcessor signature to no longer take ↵Gravatar rmistry2015-08-28
| | | | | | | | | | | | | | | | | | | | | | | | skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ ) Reason for revert: Primary suspect in failing DEPS rolls: * https://codereview.chromium.org/1315753006 * https://codereview.chromium.org/1308323006 * https://codereview.chromium.org/1320903004 Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005 Original issue's description: > Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* > > Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa TBR=joshualitt@google.com,wangyix@google.com,robertphillips@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1313573005
* Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*Gravatar bsalomon2015-08-28
| | | | Review URL: https://codereview.chromium.org/1316513002
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Remove GrStagedProcessor, remove the word Stage as it applies to FPsGravatar bsalomon2015-08-27
| | | | | | Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7 Review URL: https://codereview.chromium.org/1307223004