aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkGpuBlurUtils.h
Commit message (Collapse)AuthorAge
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50 Review-Url: https://codereview.chromium.org/2222083004
* Revert of Create blurred RRect mask on GPU (rather than uploading it) ↵Gravatar robertphillips2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/2222083004/ ) Reason for revert: No NoGPU bot on commit queue ? Original issue's description: > Create blurred RRect mask on GPU (rather than uploading it) > > This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) > > All blurred rrects using the "analytic" path will change slightly with this CL. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 > > Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 > Committed: https://skia.googlesource.com/skia/+/94b5c5a41160e0f55e267fc3d830df65736fac50 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2232953002
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 Review-Url: https://codereview.chromium.org/2222083004
* Revert of Create blurred RRect mask on GPU (rather than uploading it) ↵Gravatar robertphillips2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/2222083004/ ) Reason for revert: Erg - dumb bug Original issue's description: > Create blurred RRect mask on GPU (rather than uploading it) > > This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) > > All blurred rrects using the "analytic" path will change slightly with this CL. > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 > > Committed: https://skia.googlesource.com/skia/+/75ccdc77a70ec2083141bf9ba98eb2f01ece2479 TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2236493002
* Create blurred RRect mask on GPU (rather than uploading it)Gravatar robertphillips2016-08-10
| | | | | | | | | | This CL doesn't try to resolve any of the larger issues. It just moves the computation of the blurred RRect to the gpu and sets up to start using vertex attributes for a nine patch draw (i.e., returning the texture coordinates) All blurred rrects using the "analytic" path will change slightly with this CL. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2222083004 Review-Url: https://codereview.chromium.org/2222083004
* Remove all usage of SkSurfaceProps::isGammaCorrect()Gravatar brianosman2016-07-26
| | | | | | | | | | | | | DrawContext's isGammaCorrect now just based on presence of color space. Next change will remove the function and flag entirely, but I wanted to land this separately. This alters a few GMs in srgb/f16 mode, generally those that are creating off-screen surfaces in ways that were somewhat lossy before. No unexplained changes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186633002 Review-Url: https://codereview.chromium.org/2186633002
* Add SkColorSpace to GrDrawContextGravatar brianosman2016-07-21
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164363002 Review-Url: https://codereview.chromium.org/2164363002
* Swap SkGpuBlurUtils over to using SkIRectsGravatar robertphillips2016-05-13
| | | | | | | | | | We don't have to land this, but I found it more comforting for the blurring code to explicitly deal with SkIRects rather than SkRects with integer values. Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1968603003 Review-Url: https://codereview.chromium.org/1968603003
* Make SkGpuBlurUtils::GaussianBlur more drawContext centricGravatar robertphillips2016-05-12
| | | | | | | | | | | | This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003 Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470 Committed: https://skia.googlesource.com/skia/+/d38d92f9ca6a58ee51461488f0869343cf7ca083 Review-Url: https://codereview.chromium.org/1962903003
* Revert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric ↵Gravatar robertphillips2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/1962903003/ ) Reason for revert: ASAN Original issue's description: > Make SkGpuBlurUtils::GaussianBlur more drawContext centric > > This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003 > > Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470 > > Committed: https://skia.googlesource.com/skia/+/d38d92f9ca6a58ee51461488f0869343cf7ca083 TBR=bsalomon@google.com,scroggo@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/1964413003
* Make SkGpuBlurUtils::GaussianBlur more drawContext centricGravatar robertphillips2016-05-11
| | | | | | | | | | This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003 Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470 Review-Url: https://codereview.chromium.org/1962903003
* Revert of Make SkGpuBlurUtils::GaussianBlur more drawContext centric ↵Gravatar scroggo2016-05-11
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/1962903003/ ) Reason for revert: This looks to be causing errors in Gold. I don't know if I can make a permanent link to something in Gold, but take a look at imagefilterscropexpand for an example. Original issue's description: > Make SkGpuBlurUtils::GaussianBlur more drawContext centric > > This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003 > > Committed: https://skia.googlesource.com/skia/+/e7ef01dcfda0f8ae407ba92cc03cf3f7841ec470 TBR=bsalomon@google.com,robertphillips@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/1973563002
* Make SkGpuBlurUtils::GaussianBlur more drawContext centricGravatar robertphillips2016-05-11
| | | | | | | | This is split out of https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1962903003 Review-Url: https://codereview.chromium.org/1962903003
* Reland of Simplify SkGpuBlurUtils::GaussianBlur method (patchset #1 id:1 of ↵Gravatar robertphillips2016-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1956023002/ ) Reason for revert: May not be as bad as was thought Original issue's description: > Revert of Simplify SkGpuBlurUtils::GaussianBlur method (patchset #2 id:20001 of https://codereview.chromium.org/1958603002/ ) > > Reason for revert: > Looks like it's causing some issues with the bleed_image GM. > > Original issue's description: > > Simplify SkGpuBlurUtils::GaussianBlur method > > > > No one was using the canClobberSrc capability and moving the direct filtering case forward makes the rest of the logic simpler. > > > > Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) > > > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1958603002 > > > > Committed: https://skia.googlesource.com/skia/+/56a85e69a8d034e0fdee00e8207cda0a9da06fee > > TBR=bsalomon@google.com,robertphillips@google.com > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/67a58dcd4a1e79e5832161ae953526d27893aa61 TBR=bsalomon@google.com,jvanverth@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/1961953002
* Revert of Simplify SkGpuBlurUtils::GaussianBlur method (patchset #2 id:20001 ↵Gravatar jvanverth2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1958603002/ ) Reason for revert: Looks like it's causing some issues with the bleed_image GM. Original issue's description: > Simplify SkGpuBlurUtils::GaussianBlur method > > No one was using the canClobberSrc capability and moving the direct filtering case forward makes the rest of the logic simpler. > > Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1958603002 > > Committed: https://skia.googlesource.com/skia/+/56a85e69a8d034e0fdee00e8207cda0a9da06fee TBR=bsalomon@google.com,robertphillips@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/1956023002
* Simplify SkGpuBlurUtils::GaussianBlur methodGravatar robertphillips2016-05-06
| | | | | | | | | | No one was using the canClobberSrc capability and moving the direct filtering case forward makes the rest of the logic simpler. Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils) GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1958603002 Review-Url: https://codereview.chromium.org/1958603002
* Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriateGravatar brianosman2016-04-13
| | | | | | | | | | | Trying to be much more explicit about where we really mean sRGB as a format, and where we mean gamma-correct, as in: "not legacy behavior". Most of the changes to rendering behavior are dependent on the latter, so let's be precise. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884873006 Review URL: https://codereview.chromium.org/1884873006
* 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
* 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
* 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
* tunnel down texture-size-constraint to imagefiltersGravatar reed2015-10-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1421493003
* This patch implements a crop rect for SkImageFilter. It has been implemented ↵Gravatar senorblanco@chromium.org2013-07-24
| | | | | | | | | | | | | | | | | | for SkColorFilterImageFilter and SkBlurImageFilter as examples. In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before. This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests. At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap. R=reed@google.com Committed: https://code.google.com/p/skia/source/detail?r=10251 Review URL: https://codereview.chromium.org/19775006 git-svn-id: http://skia.googlecode.com/svn/trunk@10338 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-07-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10096 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added newlines at the end of SkGpuBlurUtils.*Gravatar robertphillips@google.com2013-07-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10082 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move gaussianBlur functionality to src\effectsGravatar robertphillips@google.com2013-07-15
https://codereview.chromium.org/18771004/ git-svn-id: http://skia.googlecode.com/svn/trunk@10080 2bbb7eff-a529-9590-31e7-b0007b416f81