aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
Commit message (Collapse)AuthorAge
* Minor clean up related to blur mask filtersGravatar robertphillips2016-08-05
| | | | | | | | This is the non-substantive portion of: https://codereview.chromium.org/2201133002/ (Implement GPU occluded blur mask filter) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2214163003 Review-Url: https://codereview.chromium.org/2214163003
* SkRTConf: eliminateGravatar halcanary2016-08-04
| | | | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
* Revert of SkRTConf: reduce functionality to what we use, increase simplicity ↵Gravatar mtklein2016-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #8 id:150001 of https://codereview.chromium.org/2212473002/ ) Reason for revert: missed GrVkPipelineStateCache Original issue's description: > SkRTConf: reduce functionality to what we use, increase simplicity > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 > DOCS_PREVIEW= https://skia.org/?cl=2212473002 > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > [mtklein] > TBR=reed@google.com > Only removing unused public API. > > Committed: https://skia.googlesource.com/skia/+/ef59974708dade6fa72fb0218d4f8a9590175c47 TBR=halcanary@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/2215433003
* SkRTConf: reduce functionality to what we use, increase simplicityGravatar halcanary2016-08-03
| | | | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2212473002 DOCS_PREVIEW= https://skia.org/?cl=2212473002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot [mtklein] TBR=reed@google.com Only removing unused public API. Review-Url: https://codereview.chromium.org/2212473002
* Add SkGammaColorFilterGravatar robertphillips2016-07-28
| | | | | | | | WDYT about this as a means of replacing GrContext::applyGamma with a normal SkCanvas::drawImage? GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190573002 Review-Url: https://codereview.chromium.org/2190573002
* Rename GrContext's newDrawContext & drawContext to makeDrawContextGravatar robertphillips2016-07-27
| | | | | | | | These both return sk_sp. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186073002 Review-Url: https://codereview.chromium.org/2186073002
* 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
* Arithmetic xfermode stage.Gravatar mtklein2016-07-25
| | | | | | | | | | 565 is identical, and as usual the old sRGB path was broken. :) It was unimplemented, so the default missing Sk4f implementation was mimicking Src. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175133002 Review-Url: https://codereview.chromium.org/2175133002
* Add destination color space to AsFPArgs. Eliminates last XFORMTODO.Gravatar brianosman2016-07-25
| | | | | | | | | | | | This is going to be needed in many more places as I finish connecting the dots. Even better - I'd like to switch to a world where SkColorSpace != nullptr is the only signal we use for gamma-correct rendering, so I can eliminate SkSourceGammaTreatment and SkSurfaceProps::isGammaCorrect. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2180503002 Review-Url: https://codereview.chromium.org/2180503002
* Bundle SkShader::asFragmentProcessor arguments in a structGravatar brianosman2016-07-22
| | | | | | | | | | The signature of this thing keeps changing (and is about to change again). This just makes maintenance much easier. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2175563003 Review-Url: https://codereview.chromium.org/2175563003
* 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
* limit the number of points in SkDashPathEffect::asPointsGravatar lsalzman2016-07-21
| | | | | | | | | | | | | | | | | | | If the length of a line path is sufficiently long relative to the dash interval, it is possible to cause SkDashPathEffect::asPoints to produce so many points that it overflows the amount that can fit in an int type, or otherwise produce non-finite values, i.e. path from (0,0) to (0,9e15) with a dash interval of 1. This fixes that by capping the amount of points to a sane limit - in this case, 1mil, since that limit is also used in utils/SkDashPath.cpp and has precedent. Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1287515 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2165013002 Review-Url: https://codereview.chromium.org/2165013002
* Adding color space to SkSpecialImageGravatar brianosman2016-07-21
| | | | | | | | | | Mostly means that GPU backed special images need to be supplied (and store) a color space object. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163343002 Review-Url: https://codereview.chromium.org/2163343002
* Correct sRGB <-> linear everywhere.Gravatar mtklein2016-07-20
| | | | | | | | | | | | | | | | | | | | | | This trims the SkPM4fPriv methods down to just foolproof methods. (Anything trying to build these itself is probably wrong.) Things like Sk4f srgb_to_linear(Sk4f) can't really exist anymore, at least not efficiently, so this refactor is somewhat more invasive than you might think. Generally this means things using to_4f() are also making a misstep... that's gone too. It also does not make sense to try to play games with linear floats with 255 bias any more. That hack can't work with real sRGB coding. Rather than update them, I've removed a couple of L32 xfermode fast paths. I'd even rather drop it entirely... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163683002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2163683002
* Clarify GrGradientEffect key enumGravatar fmenozzi2016-07-19
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2158323003 Review-Url: https://codereview.chromium.org/2158323003
* Improve naive SkColorXform to half floatsGravatar msarett2016-07-19
| | | | | | | | | | | | | | | | | | | | | | | | This should give us a good baseline to explore using SkRasterPipeline. A particular colorxform to half float drops from 425us to 282us on my desktop. Color Xform to Half Float (HP z620) Original 425us Trans16 (not 32) 355us Vector Trans16 378us Trans16 + Keep Halfs in Vector 335us Vector Trans16 + Keep Halfs in Vector 282us Final 282us Color Xform to Half Float (Nexus 5X) Original 556us Final 472us BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2159993003 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2159993003
* Introduce GrColorSpaceXform, for gamut conversion on texturesGravatar brianosman2016-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | GrTextureAccess optionally includes an instance, computed from the src and dst color spaces. In all common cases (no color space for either src or dst, or same color space for both), no object is allocated. This change is orthogonal to my attempts to get color space attached to render targets - regardless of how we choose to do that, this will give us the source color space at all points where we are connecting src to dst. There are many dangling injection points where I've been inserting nullptr, but I have a record of all of them. Additionally, there are now three places (the most common simple paths for bitmap/image rendering) where things are plumbed enough that I expect to have access to the dst color space (all marked with XFORMTODO). In addition to getting the dst color space, I need to inject shader code and uniform uploading for appendTextureLookup and friends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2154753003 Review-Url: https://codereview.chromium.org/2154753003
* Revert of remove unused TableMaskFilter (patchset #1 id:1 of ↵Gravatar jcgregorio2016-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2156463002/ ) Reason for revert: Needed for Android: frameworks/base/core/jni/android/graphics/MaskFilter.cpp:5:10: fatal error: 'SkTableMaskFilter.h' file not found Original issue's description: > remove unused TableMaskFilter > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156463002 > > TBR= > > Committed: https://skia.googlesource.com/skia/+/59779ae8ce316bf8b8082ec2df1683ccd38161f1 TBR=reed@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2156183002
* Expand _01 half<->float limitation to _finite. Simplify.Gravatar mtklein2016-07-15
| | | | | | | | | | | | | | | | | | | | | | | It's become clear we need to sometimes deal with values <0 or >1. I'm not yet convinced we care about NaN or +-inf. We had some fairly clever tricks and optimizations here for NEON and SSE. I've thrown them out in favor of a single implementation. If we find the specializations mattered, we can certainly figure out how to extend them to this new range/domain. This happens to add a vectorized float -> half for ARMv7, which was missing from the _01 version. (The SSE strategy was not portable to platforms that flush denorm floats to zero.) I've tested the full float range for FloatToHalf on my desktop and a 5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90 Review-Url: https://codereview.chromium.org/2145663003
* remove unused TableMaskFilterGravatar reed2016-07-14
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2156463002 TBR= Review-Url: https://codereview.chromium.org/2156463002
* Revert of Expand _01 half<->float limitation to _finite. Simplify. ↵Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #7 id:120001 of https://codereview.chromium.org/2145663003/ ) Reason for revert: Unit tests fail on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast Original issue's description: > Expand _01 half<->float limitation to _finite. Simplify. > > It's become clear we need to sometimes deal with values <0 or >1. > I'm not yet convinced we care about NaN or +-inf. > > We had some fairly clever tricks and optimizations here for NEON > and SSE. I've thrown them out in favor of a single implementation. > If we find the specializations mattered, we can certainly figure out > how to extend them to this new range/domain. > > This happens to add a vectorized float -> half for ARMv7, which was > missing from the _01 version. (The SSE strategy was not portable to > platforms that flush denorm floats to zero.) > > I've tested the full float range for FloatToHalf on my desktop and a 5x. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 > CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot > > Committed: https://skia.googlesource.com/skia/+/3296bee70d074bb8094b3229dbe12fa016657e90 TBR=msarett@google.com,mtklein@chromium.org # 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/2151023003
* Expand _01 half<->float limitation to _finite. Simplify.Gravatar mtklein2016-07-14
| | | | | | | | | | | | | | | | | | | | | | It's become clear we need to sometimes deal with values <0 or >1. I'm not yet convinced we care about NaN or +-inf. We had some fairly clever tricks and optimizations here for NEON and SSE. I've thrown them out in favor of a single implementation. If we find the specializations mattered, we can certainly figure out how to extend them to this new range/domain. This happens to add a vectorized float -> half for ARMv7, which was missing from the _01 version. (The SSE strategy was not portable to platforms that flush denorm floats to zero.) I've tested the full float range for FloatToHalf on my desktop and a 5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2145663003 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2145663003
* Handle negative scale in SkDropShadowImageFilter::onFilterNodeBounds.Gravatar jbroman2016-07-11
| | | | | | | | | | | Add unit tests for positive and negative scale factors for the two effects that apply a Gaussian blur like this: blur and drop-shadow. The last two assertions fail without the fix in SkDropShadowImageFilter. BUG=chromium:600821 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114313002 Review-Url: https://codereview.chromium.org/2114313002
* Check PremulType during GrGradientEffect::onIsEqualGravatar csmartdalton2016-06-27
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2100223003 Review-Url: https://codereview.chromium.org/2100223003
* Fix Perlin noise fuzz issueGravatar robertphillips2016-06-27
| | | | | | | | | | The main "fix" here was that the assert was checking the un-clamped input value rather than the clamped value. The SkValidatingReadBuffer.cpp change was required to get the reproducing fuzz test case to complete. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2107453002 Review-Url: https://codereview.chromium.org/2107453002
* Fix up flags to SkGpuBlurUtils::GaussianBlurGravatar robertphillips2016-06-27
| | | | | | | | | | This fixes a bug introduced in: https://codereview.chromium.org/1961953002/ (Reland of Simplify SkGpuBlurUtils::GaussianBlur method) Although the 'canOverwriteSrc' flag is/was being used I still believe we're better off re-adding it after the mask-blur refactoring finishes. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2100873002 Review-Url: https://codereview.chromium.org/2100873002
* remove DownSample imagefilterGravatar reed2016-06-25
| | | | | | | | | | | was just created early on as a test filter BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2094083002 TBR= Review-Url: https://codereview.chromium.org/2094083002
* update callers to not use SkColorProfileTypeGravatar reed2016-06-21
| | | | | | | | | Requires https://codereview.chromium.org/2087833002/ to land first. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086583002 Review-Url: https://codereview.chromium.org/2086583002
* Bin circular blur profile textures by scale and blur to radius ratio.Gravatar bsalomon2016-06-14
| | | | | | | | This reduces the number of profile textures that will be generated throughout an animation and also caps the texture size. It could probably be better tuned. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2062743003 Review-Url: https://codereview.chromium.org/2062743003
* sk_sp for Ganesh.Gravatar bungeman2016-06-09
| | | | | | | | | | Convert use of GrFragmentProcessor, GrGeometryProcessor, and GrXPFactory to sk_sp. This clarifies ownership and should reduce reference count churn by moving ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004 Review-Url: https://codereview.chromium.org/2041113004
* SkLeanWindows.h: #include "Windows.h" fewer placesGravatar halcanary2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | $ git grep -l '<windows.h>' include src include/private/SkLeanWindows.h $ git grep -l SkLeanWindows.h | grep '\.h$' include/ports/SkTypeface_win.h include/utils/win/SkHRESULT.h include/utils/win/SkTScopedComPtr.h include/views/SkEvent.h src/core/SkMathPriv.h src/ports/SkTypeface_win_dw.h src/utils/SkThreadUtils_win.h src/utils/win/SkWGL.h The same for `#include <intrin.h>` that was found in SkMath.h. Those functions that needed it are moved to SkMathPriv.h. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002 CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng Review-Url: https://codereview.chromium.org/2041943002
* linear -> sRGB: use fast approximate sqrt()Gravatar mtklein2016-06-07
| | | | | | | | | | | | | | | | Since we're already approximating the sRGB gamma curve with a sqrt(), we might as well approximate with it a faster approximate sqrt(). On Intel, this .rsqrt().invert() version is 2-3x faster than .sqrt() (~3x faster on older machines, ~2x faster on newer machines). This should provide ~11 bits of precision, suspiciously exactly enough. Running dm --config srgb, there are diffs, but none perceptible. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2046063002 Review-Url: https://codereview.chromium.org/2046063002
* Add new SkSourceGammaTreatment enum, used in situations like mipmap ↵Gravatar brianosman2016-06-06
| | | | | | | | | construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037413002 Review-Url: https://codereview.chromium.org/2037413002
* Silence ASAN int32 overflow warningGravatar fmalita2016-05-26
| | | | | | | | | | | It's fine to overflow SK_MaxS32 by one, the subsequent cast ensures correct clamping. But we need to cast earlier in order to make ASAN happy. TBR=mtklein@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2013243002 Review-Url: https://codereview.chromium.org/2013243002
* Fix int32 overflow in LinearGradientContext::shade4_dx_clampGravatar fmalita2016-05-26
| | | | | | | | | | | | | | The unconditional increment in shade4_dx_clamp can overflow int32 => n == SK_MinS32 => count ~= SK_MinS32 => we skip the main shader loop 'cause count < 0 R=reed@google.com,mtklein@google.com BUG=chromium:599458 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2010843002 Review-Url: https://codereview.chromium.org/2010843002
* When building circle blur profile evaluate kernel vertically once per columnGravatar bsalomon2016-05-20
| | | | | | | BUG=skia:5224 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1991413002 Review-Url: https://codereview.chromium.org/1991413002
* Make circle blur profile computation separableGravatar bsalomon2016-05-19
| | | | | | | BUG=skia:5224 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996653002 Review-Url: https://codereview.chromium.org/1996653002
* Reformat circle blur profile computation and add comments.Gravatar bsalomon2016-05-18
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1981923002 BUG=skia:5224 Review-Url: https://codereview.chromium.org/1981923002
* Image filters: fix filtering of transparent black in CFIF.Gravatar senorblanco2016-05-18
| | | | | | | | | | | | | | | | | SkColorFilterImageFilter has a codepath to filter transparent black regions outside of the input image. However, it was treating the exterior as opaque black, rather than trasparent black. Note: the results of imagefiltercropexpand GM will change, as it was tweaked a bit to show this bug. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978363002 NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/1978363002
* Convert GrClip to an abstract base classGravatar cdalton2016-05-13
| | | | | | | | | | | | | | | | Converts GrClip to an abstract base class and adds a "GrFixedClip" implementation. GrFixedClip denotes a clip implemented with fixed- function hardware. GrFixedClip allows us to remove the stateful "fClipMode" member from GrClipMaskManager, and in the future will be able to nicely encapsulate window rectangles. After this change GrClipMaskManager is just a wrapper around GrDrawTarget. We may want to consider removing it altogether. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971343002 Review-Url: https://codereview.chromium.org/1971343002
* 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
* Fix bug & add code to catch ImageFilter clearing bugsGravatar robertphillips2016-05-12
| | | | | | | | | | Follow on to https://codereview.chromium.org/1969193002/ (SkPictureImageFilter - clear local canvas before use) BUG=610667 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972213002 Review-Url: https://codereview.chromium.org/1972213002
* SkPictureImageFilter - clear local canvas before useGravatar ericrk2016-05-12
| | | | | | | | | | | | | | | | | In SkPictureImageFilter::onFilterImage, we may create two new surfaces, one for our final output, and one for a local resolution intermediate. We clear the final output surface before use, removing any previous content, however we do not do the same for the local surface. This can lead to content being incorrectly layered on top of previous content when we go down this path. This change adds logic to clear the local surface as well. BUG=610667 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1969193002 Review-Url: https://codereview.chromium.org/1969193002
* 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
* Harden linear gradientsGravatar fmalita2016-05-11
| | | | | | | | | | | Ensure that the last offset == 1.0f when implict positions are used (previously subject to float imprecision). BUG=skia:5288,chromium:598484 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974463002 Review-Url: https://codereview.chromium.org/1974463002
* 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