Commit Graph

1287 Commits

Author SHA1 Message Date
mtklein
cc695fee81 Gradient shaders: make fPtsToUnit const, pre-cache getType().
This prevents races when calling fPtsToUnit.getType() from multiple threads.

This introduces a small amount of redundant code in SkTwoPointRadialGradient,
but it's probably optimized together into no extra run-time work.

BUG=437511

Review URL: https://codereview.chromium.org/793763003
2014-12-10 10:29:19 -08:00
junov
f3c78ccf56 Adding an option for pixelated rendering in SkPictureImageFilter
BUG=skia:3209

Review URL: https://codereview.chromium.org/787073003
2014-12-09 13:07:22 -08:00
egdaniel
9513143efa Make all blending up to GrOptDrawState be handled by the xp/xp factory.
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

Review URL: https://codereview.chromium.org/759713002
2014-12-09 11:15:44 -08:00
bsalomon
9f876a37d8 Use threshold of 1 texture coord value per pixel w/ nearest neighbor.
Review URL: https://codereview.chromium.org/787873002
2014-12-09 10:51:07 -08:00
bsalomon
422f56f6e5 Make addUniform take a precision
Review URL: https://codereview.chromium.org/788733003
2014-12-09 10:18:12 -08:00
robertphillips
8b7b9c2e80 Fix MatrixImageFilter computeFastBounds
This CL makes the bounding box returned from SkMatrixImageFilter::computeFastBounds actually contain the final result pixels. This, in turn, fixes the first two rows of the filterfastbounds GM and the SVG web page cited in the bug.

BUG=418417

Review URL: https://codereview.chromium.org/785893004
2014-12-09 05:28:24 -08:00
egdaniel
8d95ffa497 Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/)
Reason for revert:
break many gm's

Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/766653008
2014-12-08 13:26:43 -08:00
egdaniel
7c66342a39 Make all blending up to GrOptDrawState be handled by the xp/xp factory.
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
qiankun.miao
69469b570c Use size of SkRect as the key for blur mask cache
BUG=429409

Review URL: https://codereview.chromium.org/708073002
2014-12-05 11:16:25 -08:00
joshualitt
eb2a676165 Remove backend factories
BUG=skia:

Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
tfarina
9ed02e40d1 Add SK_SUPPORT_LEGACY_PORTER_DUFF macro.
This trick will be used to remove deprecated SkPorterDuff API. But first
we need to add it so Android can be updated later.

BUG=skia:3178
R=scroggo@google.com

Review URL: https://codereview.chromium.org/758133004
2014-12-03 13:13:02 -08:00
Justin Novosad
5234075b1c Adding a PictureResolution option to SkPictureImageFilter
This change adds an option to SkPictureImageFilter to make it
rasterize SkPicture in a resolution that matches the local coordinate
space (equivalent to the record-time device space).

BUG=skia:3176
R=reed@google.com, senorblanco@chromium.org

Review URL: https://codereview.chromium.org/753073010
2014-12-02 14:50:56 -05:00
mtklein
3f3b3d0035 Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
mtklein
6e78293ee8 Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)
Reason for revert:
Breaks canary builds.  Will reland after the Chromium change lands.

Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88

TBR=reed@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
This was needed for pictures before v33, and we're now requiring v35+.

Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc

BUG=skia:

Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
mtklein
88fd0fbccc Bump min picture version.
Chrome Stable is M39, which produces picture format v35:
    https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h

We don't need any code to deal with pictures older than v35.

(When M40 goes stable, we can step up to v37, the current latest version.)

BUG=skia:

Review URL: https://codereview.chromium.org/770703002
2014-12-01 06:56:38 -08:00
joshualitt
267ce482b5 remove proc key
BUG=skia:

Review URL: https://codereview.chromium.org/755363002
2014-11-25 14:52:21 -08:00
joshualitt
60030bc2e1 remove one place we read from gpu key in effects
BUG=skia:

Review URL: https://codereview.chromium.org/761643002
2014-11-25 14:21:55 -08:00
egdaniel
f8449babdc Update invariant output computation for various texture effects.
Update various effects that read in textures to check whether or not the texture is alpha only.
This allows us to use a more specific mulByUnKnownAlpha instead of the more general mulByUnknownColor

BUG=skia:

Review URL: https://codereview.chromium.org/759653004
2014-11-25 10:24:56 -08:00
fmalita
2d97bc139a Disable LCD text explicitly in SkPictureImageFilter::onFilterImage()
As an intermediate fix for
https://code.google.com/p/skia/issues/detail?id=3142, we can use a
non-public SkCanvas constructor and force-disable LCD text.

BUG=skia:3142
R=reed@google.com,senorblanco@google.com

Review URL: https://codereview.chromium.org/725243004
2014-11-20 10:44:58 -08:00
reed
b07a94f1cb add roundOut that returns its result
BUG=skia:

Review URL: https://codereview.chromium.org/742663002
2014-11-19 05:03:18 -08:00
reed
d02cf2664d change roundOut() to take a dst, so we can use that signature to return IRect
BUG=skia:
TBR=robertphilips

Review URL: https://codereview.chromium.org/731373003
2014-11-18 18:06:45 -08:00
sugoi
1379b87ae4 Added missing validation
BUG=433359

Review URL: https://codereview.chromium.org/729583002
2014-11-17 05:45:55 -08:00
egdaniel
605dd0fbce Move GrInvariantOutput out of GrProcessor and into its own class.
This will help with the ability to subclass, add to, etc. GrInvariantOutput. Also it was simply
getting a little too big to be a "supporting" subclass
BUG=skia:

Review URL: https://codereview.chromium.org/699943003
2014-11-12 08:35:25 -08:00
reed
b969fc0f83 notice null colorfilter in legacy unflattening
BUG=skia:3117

Review URL: https://codereview.chromium.org/691383003
2014-11-11 13:13:35 -08:00
egdaniel
21402e3851 Bug fix for cull_line in SkDashPathEffect.
In cull_line we must also check if both points are the same. Otherwise we
fail the assert in the else "SkASSERT(dy && !dx)".

This is currently blocking the roll as it fails a webkit test.

BUG=skia:

Review URL: https://codereview.chromium.org/703783002
2014-11-05 05:02:27 -08:00
robertphillips
9f2251c73e Crop the fast path dashed lines to the cull rect
Without:

maxrss  loops   min     median  mean    max     stddev  samples         config  bench
  56M   1       13.3ms  13.6ms  13.6ms  14.2ms  2%      Ooooo.....      8888    GM_dashing5_bw
  56M   13      390us   417us   416us   459us   5%      ooooO..o.o      gpu     GM_dashing5_bw
  56M   1       13.4ms  13.9ms  14.1ms  15ms    3%      Oooo..ooOo      8888    GM_dashing5_aa
  56M   13      402us   421us   416us   425us   2%      Ooo.ooOOOO      gpu     GM_dashing5_aa

With:

  40M   1       1.53ms  1.54ms  1.54ms  1.55ms  0%      oo.O...o..      8888    GM_dashing5_bw
  40M   12      407us   412us   415us   445us   3%      ...Oo.....      gpu     GM_dashing5_bw
  40M   1       1.7ms   1.7ms   1.7ms   1.72ms  0%      o.O.......      8888    GM_dashing5_aa
  43M   13      405us   409us   409us   415us   1%      ooo.Ooo..o      gpu     GM_dashing5_aa

The GM images (including the new one) are the same with and without this CL.

BUG=428296

Review URL: https://codereview.chromium.org/699623003
2014-11-04 13:33:50 -08:00
bsalomon
89c62980c1 Don't allow renderTarget==NULL to GrContext::clear() and friends.
Review URL: https://codereview.chromium.org/680413005
2014-11-03 12:08:42 -08:00
bsalomon
37dd331b20 Add class GrGLTextureRenderTarget for GL texture/rendertarget objects
BUG=skia:2889

Review URL: https://codereview.chromium.org/695813003
2014-11-03 08:47:23 -08:00
sugoi
9bde31e95d Trying to be consistent when members are allowed to be NULL
Got a few crashes running the fuzzer locally, all related to handling NULL members/parameters in an inconsistent way.

BUG=skia:

Review URL: https://codereview.chromium.org/675013003
2014-10-30 14:05:15 -07:00
senorblanco
8f3937d9fc Fix bounds computation of all 0-input filters.
The SkRectShaderImageFilter had the same bug as previously fixed for
SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
the implementation, this change makes all filters with 0 inputs return
their source bounds, instead of returning false.

BUG=427251

Review URL: https://codereview.chromium.org/681643003
2014-10-29 12:36:32 -07:00
bsalomon
f2703d83da rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags
Review URL: https://codereview.chromium.org/682223002
2014-10-28 14:33:06 -07:00
hcm
d0f1969100 Revert of Fix bounds computation of all 0-input filters. (patchset #2 id:20001 of https://codereview.chromium.org/681643003/)
Reason for revert:
try again

Original issue's description:
> Fix bounds computation of all 0-input filters.
>
> The SkRectShaderImageFilter had the same bug as previously fixed for
> SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
> the implementation, this change makes all filters with 0 inputs return
> their source bounds, instead of returning false.
>
> BUG=427251
>
> Committed: https://skia.googlesource.com/skia/+/ba036cc82b5a543a13cafd11a19ba0e3087fca38

TBR=bsalomon@google.com,senorblanco@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=427251

Review URL: https://codereview.chromium.org/678273002
2014-10-27 20:55:01 -07:00
senorblanco
ba036cc82b Fix bounds computation of all 0-input filters.
The SkRectShaderImageFilter had the same bug as previously fixed for
SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
the implementation, this change makes all filters with 0 inputs return
their source bounds, instead of returning false.

BUG=427251

Review URL: https://codereview.chromium.org/681643003
2014-10-27 13:38:13 -07:00
bsalomon
c6327a8f7e stuff
BUG=skia:

Review URL: https://codereview.chromium.org/655913003
2014-10-27 12:53:08 -07:00
sugoi
234f036b3e Adding an option to render only the shadow in SkDropShadowImageFilter
This is basically how blink uses the filter. Currently, I can't use it for "ShadowOnly" mode with the filter at all, but instead of copying the code and risking to have the codepaths diverge, I'm simply going to add the option here.

BUG=skia:

Review URL: https://codereview.chromium.org/646213004
2014-10-23 13:59:52 -07:00
reed
4dca7a8296 use SkMaskCache inside SkBlurMaskFilter
depends on https://codereview.chromium.org/670063004/

BUG=skia:

Review URL: https://codereview.chromium.org/669993003
2014-10-23 12:42:46 -07:00
bsalomon
420d7e9a79 Auto-compare GrProcessors' texture accesses in isEqual().
R=joshualitt@google.com

Review URL: https://codereview.chromium.org/654313002
2014-10-16 09:18:09 -07:00
bsalomon
de258cd6b4 Make GrFragmentProcessor auto-compare coord xforms.
Review URL: https://codereview.chromium.org/657923002
2014-10-15 19:06:21 -07:00
egdaniel
9e4d6d180f Move willUseInputColor check to computeInvariantOutput
BUG=skia:

Review URL: https://codereview.chromium.org/656503002
2014-10-15 13:49:02 -07:00
bsalomon
98b33ebe6f Some cleanup in processor header files.
R=joshualitt@google.com

Review URL: https://codereview.chromium.org/659803004
2014-10-15 11:05:26 -07:00
bsalomon
6251d17dfa Split GrFragmentProcessor into its own header
Review URL: https://codereview.chromium.org/660573002
2014-10-15 10:50:36 -07:00
bsalomon
0e08fc17e4 Push isEqual/onIsEqual down from GrProcessor to subclasses.
R=joshualitt@google.com

Review URL: https://codereview.chromium.org/654273002
2014-10-15 08:19:04 -07:00
sugoi
80cc420934 Changed "Profile" to "Cube" in ColorCube
A few references to "profile" still existed in SkColorCubeFilter, so I removed them.

BUG=skia:

Review URL: https://codereview.chromium.org/651303002
2014-10-14 13:15:58 -07:00
bsalomon
e30597375c Remove uses of GrAutoScratchTexture.
Rename GrContext::lockAndRefScratchTexture to refScratchTexture.

GrSurface::writePixels returns bool instead of void.

BUG=skia:2889

Review URL: https://codereview.chromium.org/638403003
2014-10-14 11:47:22 -07:00
egdaniel
ccb2e384a0 Create helper functions to use in computeInvariantOutput calls
BUG=skia:

Review URL: https://codereview.chromium.org/643743003
2014-10-13 12:53:46 -07:00
joshualitt
a5305a110a Opt state takes a GP instead of a GeometryStage
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf

Review URL: https://codereview.chromium.org/637003003
2014-10-10 17:47:00 -07:00
joshualitt
89c7a2ec3e Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 id:1500001 of https://codereview.chromium.org/637003003/)
Reason for revert:
Revert because this may be causing a break in a chrome gpu test

Original issue's description:
> Opt state takes a GP instead of a GeometryStage
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf

TBR=bsalomon@google.com,egdaniel@google.com,danakj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/647183002
2014-10-10 14:11:59 -07:00
joshualitt
71856d5204 Opt state takes a GP instead of a GeometryStage
BUG=skia:

Review URL: https://codereview.chromium.org/637003003
2014-10-10 09:56:55 -07:00
joshualitt
1598899975 FPs now use the correct builder types(just a rename)
BUG=skia:

Review URL: https://codereview.chromium.org/648463003
2014-10-09 15:04:05 -07:00
egdaniel
089f8de82d Remove tab parameter from GrGLSLMulVarBy4f function
With pretty printing of shader code, there is no longer a need to explictily
have tabs in our code.

BUG=skia:

Review URL: https://codereview.chromium.org/648463002
2014-10-09 10:34:59 -07:00
sugoi
9a7f29ee5e Leak fixed
BUG=skia:

Review URL: https://codereview.chromium.org/639423002
2014-10-09 08:09:04 -07:00
joshualitt
651713408c gl programs rewrite
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c

Review URL: https://codereview.chromium.org/628633003
2014-10-09 07:25:36 -07:00
sugoi
ce686270f5 Adding 3D lut color filter
Included in this cl is support for 3D textures.

BUG=skia:

Review URL: https://codereview.chromium.org/580863004
2014-10-09 05:27:23 -07:00
bsalomon
bcf0a52d4f GrResourceCache2 manages scratch texture.
BUG=skia:2889

Review URL: https://codereview.chromium.org/608883003
2014-10-08 08:40:09 -07:00
Brian Salomon
9323b8b8e1 Revert "GrResourceCache2 manages scratch texture."
This reverts commit d14e1a2764.
2014-10-07 15:07:38 -04:00
joshualitt
d909759832 Revert of gl programs rewrite (patchset #10 id:180001 of https://codereview.chromium.org/628633003/)
Reason for revert:
breaks angle bot

Original issue's description:
> gl programs rewrite
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c

TBR=bsalomon@google.com,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/631183003
2014-10-07 08:37:36 -07:00
joshualitt
07a255310a gl programs rewrite
BUG=skia:

Review URL: https://codereview.chromium.org/628633003
2014-10-07 08:05:21 -07:00
bsalomon
d14e1a2764 GrResourceCache2 manages scratch texture.
BUG=skia:2889

Review URL: https://codereview.chromium.org/608883003
2014-10-07 07:27:07 -07:00
egdaniel
1a8ecdfb73 Add isSingleComponent bool to getConstantColorComponent
Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b

Review URL: https://codereview.chromium.org/608253002
2014-10-03 06:24:12 -07:00
robertphillips
b4b7a4c9ea Revert of Add isSingleComponent bool to getConstantColorComponent (patchset #6 id:100001 of https://codereview.chromium.org/608253002/)
Reason for revert:
Changing some GMs

Original issue's description:
> Add isSingleComponent bool to getConstantColorComponent
>
> Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b

TBR=joshualitt@chromium.org,bsalomon@google.com,reed@google.com,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/617853003
2014-10-02 12:12:48 -07:00
egdaniel
3b8af07828 Add isSingleComponent bool to getConstantColorComponent
Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components.

BUG=skia:

Review URL: https://codereview.chromium.org/608253002
2014-10-02 09:57:48 -07:00
robertphillips
dbe6074a06 Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 of https://codereview.chromium.org/608883003/)
Reason for revert:
Turning bots red:
Nanobench seems to be uniformly failing on Android
(http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio)

Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio)

Original issue's description:
> GrResourceCache2 manages scratch texture.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/611383003
2014-09-30 06:54:17 -07:00
bsalomon
3d398c8764 GrResourceCache2 manages scratch texture.
BUG=skia:
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/608883003
2014-09-30 06:02:23 -07:00
senorblanco
3a49520696 Sanitize SkMatrixConvolutionImageFilter creation params.
Apply the same memory limit in the Create() function that we do when
deserializing.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/610723002
2014-09-29 07:57:20 -07:00
senorblanco
91c395af69 Fix SkTableColorFilter deserialization validation.
Broken in https://skia.googlesource.com/skia/+/9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187.

R=reed@google.com
TBR=reed@google.com

BUG=skia:

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/604873004
2014-09-25 15:51:35 -07:00
joshualitt
b0a8a377f8 Patch to create a distinct geometry processor. The vast majority of this patch
is just a rename.  The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/582963002
2014-09-23 09:50:21 -07:00
joshualitt
0125847c16 Proposed fix for small bug in gpu conical gradients
BUG=skia:
R=bsalomon@google.com, egdaniel@google.com, senorblanco@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/593443002
2014-09-22 10:29:30 -07:00
joshualitt
23e280d1f2 Changes to remove program effects builder
BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/551253004
2014-09-18 12:26:38 -07:00
joshualitt
49586bec73 removing GrDrawEffect
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e

R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/571163002
2014-09-16 08:21:42 -07:00
joshualitt
08da4f22d7 Revert of removing GrDrawEffect (patchset #4 id:60001 of https://codereview.chromium.org/571163002/)
Reason for revert:
reverting to unblock another revert

Original issue's description:
> removing GrDrawEffect
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/577593003
2014-09-16 07:17:28 -07:00
joshualitt
8ddbe8b936 removing GrDrawEffect
BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/571163002
2014-09-16 06:46:30 -07:00
senorblanco
32673b99a4 Allow negative values in SkBlurImageFilter sigma.
There are two ways negative sigma values may occur: in
the original filter parameters, or after multiplication
by a negative scaling CTM. The former case is
invalid according to the spec, so we continue to check
for it at validation time. In the latter case, we should
interpret it as a horizontal flip in the kernel pixel
access, and simply take the absolute value (since the
filter kernel is symmetric).

Also refactor all this logic into a single place for the
CPU, GPU and onFilterBounds() paths.

BUG=https://code.google.com/p/chromium/issues/detail?id=409602
R=sugoi@google.com, reed@google.com, sugoi@chromium.org

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/555603002
2014-09-09 09:15:04 -07:00
bsalomon
49f085dddf "NULL !=" = NULL
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
reed
e5ea500d47 Hide fields in SkImageInfo
R=rmistry@google.com
TBR=bsalomon

Author: reed@google.com

Review URL: https://codereview.chromium.org/536003002
2014-09-03 11:54:58 -07:00
reed
848250415e make allocPixels throw on failure
BUG=skia:
R=mtklein@google.com, fmalita@google.com, fmalita@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/510423005
2014-09-02 12:50:45 -07:00
bsalomon
6267f81f3d Move MakeDivByTextureWHMatrix to GrCoordTransform
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/522873005
2014-08-29 15:05:53 -07:00
robertphillips
a8d7f0b13c Try out scalar picture sizes
This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.

R=reed@google.com, mtklein@google.com, fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/513983002
2014-08-29 08:03:56 -07:00
senorblanco
5e5f948b6b Reimplement deserialization of SkImageFilter's uniqueID.
9fa60d ("Simplify flattening to just write enough ... ") simplified just
a tad too much. In particular, it disabled deserialization of
SkImageFilter's uniqueID, which in turn caused the failure of
SkImageFilter's cache, which caused a large regression in Chrome's SVG
filter performance.

The medium-term fix is to switch to the new SkRecordDraw SkPicture
backend, which will make the unique IDs unnecessary.

This change is an "in case of emergecy" CL, in the event that there are
problems switching on the new backend in Chrome. For that reason, it's
minimalist: only the filters used by Chrome are modified, and whitespace
changes are kept to a minimum. In this way, it should be easy to revert
once the new backend goes in.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/503833002
2014-08-26 12:27:12 -07:00
senorblanco
1150a6d151 Fix recursive computation of filter bounds for drop shadow,
morphology, blur.

[Reland with fixed tests.]

Because we're computing "backwards" from a clip rect of destination
pixels to be filled to the required source pixels, we should use tail
recursion rather than head recursion in onFilterBounds().

This actually only makes a difference for drop-shadow, where
the computation is non-commutative. Blur and morphology commute, but I
moved them to tail recursion anyway for clarity (so all onFilterBounds
use tail recursion).

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/481273005
2014-08-25 12:46:58 -07:00
djsollen
38cb688bd0 Revert of Fix recursive computation of filter bounds for drop shadow, (patchset #1 of https://codereview.chromium.org/481273005/)
Reason for revert:
This CL is currently breaking the Win7 and Win8 bots on some of the new tests (in DM).

Original issue's description:
> Fix recursive computation of filter bounds for drop shadow,
> morphology, blur.
>
> Because we're computing "backwards" from a clip rect of destination
> pixels to be filled to the required source pixels, we should use tail
> recursion rather than head recursion in onFilterBounds().
>
> This actually only makes a difference for drop-shadow, where
> the computation is non-commutative. Blur and morphology commute, but I
> moved them to tail recursion anyway for clarity (so all onFilterBounds
> use tail recursion).
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/28648fe4a69b0cee8df42b5966e4e645c3aabefb

R=bsalomon@google.com, senorblanco@chromium.org
TBR=bsalomon@google.com, senorblanco@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/504773003
2014-08-25 09:06:19 -07:00
senorblanco
28648fe4a6 Fix recursive computation of filter bounds for drop shadow,
morphology, blur.

Because we're computing "backwards" from a clip rect of destination
pixels to be filled to the required source pixels, we should use tail
recursion rather than head recursion in onFilterBounds().

This actually only makes a difference for drop-shadow, where
the computation is non-commutative. Blur and morphology commute, but I
moved them to tail recursion anyway for clarity (so all onFilterBounds
use tail recursion).

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/481273005
2014-08-25 08:06:57 -07:00
mtklein
b00f54d8b8 Don't leak the shader by reffing twice in SkRectShaderImageFilter.
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/501563002
2014-08-22 13:42:56 -07:00
reed
8367b8cb7a extend SkShader to report a luminance-color to be used for gamma correction
BUG=skia:590
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/492963002
2014-08-22 08:30:20 -07:00
reed
f0f6c405fe fix leak in new createproc
BUG=skia:
R=caryclark@google.com, mike@reedtribe.org, mtklein@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/461253007
2014-08-22 05:08:26 -07:00
joshualitt
30ba436f04 Initial refactor of shaderbuilder to prepare for geometry shaders
gitignore for eclipse

BUG=skia:
R=bsalomon@google.com, bsalomon@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/491673002
2014-08-21 20:18:45 -07:00
reed
d5176a2fb6 remember to init fOrigPos in legacy constructor
NOTREECHECKS=True
R=caryclark@google.com, mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/496833002
2014-08-21 12:32:40 -07:00
mtklein
55de40b38c Does this fix things?
NOTREECHECKS=true
CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/492343002
2014-08-21 11:52:36 -07:00
reed
a6cac4ce38 rename gradients private BitmapCache to GradientBitmapCache
R=caryclark@google.com
NOTREECHECKS=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/474983005
2014-08-21 10:50:25 -07:00
reed
9fa60daad4 Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).
Refactoring pattern:

1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).

If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.

R=robertphillips@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org, sugoi@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/395603002
2014-08-21 07:59:51 -07:00
senorblanco
673d9732bf Check all scratch texture allocations for image filters.
BUG=403677
R=bsalomon@google.com
NOTREECHECKS=true

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/473283002
2014-08-15 10:48:43 -07:00
reed
5b1b2dbe76 remove SkStippleMaskFilter - no external clients
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/462013002
2014-08-12 05:50:10 -07:00
joshualitt
5acfea789d 2D kernel initial wiring for Guassian
BUG=skia:
R=senorblanco@chromium.org, bsalomon@chromium.org, bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/418223009
2014-08-11 13:55:34 -07:00
reed
addf2edf3d add localMatrix to gradient Descriptor
this consolidation will also help transisition to new flattening pattern, where we want to
have a flatten/unflatten method on all of the common gradient params (i.e. Descriptor).

BUG=skia:
R=egdaniel@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/461643002
2014-08-11 08:28:24 -07:00
senorblanco
3d822c29d4 Intersect SkPictureImageFilter bounds against clip bounds.
Intersect SkPictureImageFilter bounds against clip bounds
to avoid unnecessary processing. This is how the other
filters work (via applyCropRect()), but SkPictureImageFilter
maintains its own crop.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/428263003
2014-07-30 14:49:31 -07:00
kkinnunen
7510b224e5 Rename GrGLUniformManager to GrGLProgramDataManager
Rename GrGLUniformManager to GrGLProgramDataManager in anticipation that the
class would be used to manage shader resources that are not uniforms.

This is needed in order to implement NVPR on GLES.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/365853002
2014-07-30 00:04:16 -07:00
joshualitt
5ae5fc59b2 Adding repeat mode to texture domain
BUG=skia:
R=bsalomon@chromium.org, senorblanco@chromium.org, bsalomon@google.com, junov@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/422123003
2014-07-29 12:59:27 -07:00
bungeman
d6aeb6dc8f Fix thread unsafe mutex initialization.
BUG=skia:2779
R=robertphillips@google.com, mtklein@google.com, reed@android.com, bsalomon@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/419113002
2014-07-25 11:52:48 -07:00
senorblanco
bc9845bb60 Remove the single-sigma version of SkDropShadowImageFilter::Create().
It's no longer used in Chrome.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/407203002
2014-07-22 12:49:25 -07:00
joshualitt
ac9779234e Initial change to move 2D kernel to its own file.
BUG=skia:
R=bsalomon@chromium.org, senorblanco@chromium.org, bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/379253003
2014-07-22 09:52:12 -07:00
bsalomon
63e99f7a03 Allow GrGLEffects to produce variable length keys.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/385713005
2014-07-21 08:03:14 -07:00
dominikg
1bd6f7de52 Remove use of SK_SUPPORT_LEGACY_LAYERRASTERIZER_API.
Mozilla have removed any uses of the legacy API from their Moz2D code.
Since they were the last users we know of, we can remove the legacy API.

BUG=skia:2187
R=scroggo@google.com, reed@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/402613003
2014-07-21 02:43:20 -07:00
robertphillips
e8464994bb Make SkPictureShader and SkPictureImageFilter use const SkPictures
R=mtklein@google.com, reed@google.com
TBR=reed@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/390023002
2014-07-14 07:53:27 -07:00
bsalomon
848faf00ec This moves us towards variable length effect keys. The overall program key now allows for it. After the header it stores an array of offsets to effect keys. This allows us to grab the effect keys to pass to effects when they generate code. It also ensures that we can't get a collision by sets of keys that are different lengths but are the same when appended together.
R=robertphillips@google.com, jvanverth@google.com, egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/356513003
2014-07-11 10:01:02 -07:00
mtklein
1c577cd3ee Always initialize SkDashPathEffect fields.
SkDashPathEffect is flattened into a hash key as part of the old-and-busted
SkPicture paint deduping code.  If all its fields aren't intialized, this hash
will be based on uninitialized data.  This means the hash won't be
deterministic, and worse, Valgrind and MSAN will make us feel bad.

An alternative to this is to have SkDashPath::CalcDashParameters always
guarantee it writes something to all its output parameters, even when the dash
intervals make no sense.  I like it being dumb and its users defensive, but
could go either way.

BUG=391001
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/379813004
2014-07-09 09:54:11 -07:00
bsalomon
83d081ae1d Goodbye GrEffectRef.
Also, reworked some var names and comments around SkShader::asNewEffect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/374923002
2014-07-08 09:56:11 -07:00
senorblanco
9ea3d57fde Clean up SkImageFilter constructors.
Now that all creation of SkImageFilters goes through
factory Create() methods, there's no real reason for the
convenience constructors. Some SkImageFilter subclasses
which actually have zero DAG-able inputs were passing NULL
to the superclass constructor. This actually means 1 input,
with a NULL value, not zero inputs. This becomes more
relevant for the upcoming cache infrastructure, where this
indicates that the filter will use its src input, where in
fact some of these filters do not (they are image generators
only).

Limiting SkImageFilter to a single constructor resolves this
ambiguity.

Along the way, I removed all of the default parameters to
the constructors, since the Create methods always call them
with the full argument list.

BUG=skia:
R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/376953003
2014-07-08 09:16:22 -07:00
bsalomon
55fad7af61 Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/371103003
2014-07-08 07:34:21 -07:00
bsalomon
97b9ab72cd Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*

Make GrEffectRef a typedef for GrEffect.

Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377503004
2014-07-08 06:52:35 -07:00
reed
969842ac9c Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. (https://codereview.chromium.org/377503004/)
Reason for revert:
broke linux builders

Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8

R=robertphillips@google.com, bsalomon@google.com
TBR=bsalomon@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: reed@google.com

Review URL: https://codereview.chromium.org/372053003
2014-07-07 15:17:49 -07:00
bsalomon
2011fe9cdf Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*

Make GrEffectRef a typedef for GrEffect.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377503004
2014-07-07 15:11:31 -07:00
senorblanco
3df05015ef Fix SkColorFilterImageFilter matrix optimization.
The order of matrices passed to multiplication was wrong (apparently,
this optimization was only being tested with matrices which commute).

See Chrome bug http://crbug.com/378362

R=sugoi@chromium.org

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/371523002
2014-07-03 11:13:09 -07:00
sugoi
c197c8a47e Adding 64 bit checks
Added a few more checks to avoid overflowing 32 bit sizes while computing convolutions.

I also changed a dangerously misleading INHERITED typedef.

BUG=389570
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/361403006
2014-07-03 10:44:26 -07:00
reed
e1085e0381 move SkChecksum and SkEmptyShader to private
TBR=reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/366133002
2014-07-03 07:26:01 -07:00
senorblanco
ca6a7c2945 Make perlin noise do CTM-correct scaling.
When drawing perlin noise, generate noise at the resolution determined
by CTM, not by the resolution at construction time. This required moving
the generation of PaintingData to getContext() and asNewEffect() for the
raster and GPU paths, respectively.

It also required adjusting the matrices used during rendering
to be translate-only.

R=sugoi@chromium.org, bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/358903002
2014-06-27 13:35:52 -07:00
senorblanco
7bf1068473 Remove SkBicubicImageFilter, and all related tests.
Now that we have SkResizeImageFilter, and the bicubic
resizing is part of skia proper, there's no need for a
specialized image filter.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/357793002
2014-06-25 14:39:06 -07:00
bsalomon
22900008fb Make GrGLShaderBuilder::fragmentPosition() return a vec4, with 1.0 as the zw components when in the y-flip case. This works around an Adreno driver bug.
Revert "Stop referencing gl_FragCoord z and w components."

This reverts commit 160a52ba21.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/354663002
2014-06-24 11:16:52 -07:00
bsalomon
160a52ba21 Stop referencing gl_FragCoord z and w components.
This fixes an Adreno driver bug where GL programs fail to link if the FS refers to these components of gl_FragCoord.

R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/345083002
2014-06-20 07:25:14 -07:00
reed
9f0147143f Revert of remove guarded code - there are no more callers (https://codereview.chromium.org/343783002/)
Reason for revert:
webkit still uses getTotalClip -- need to find where they define the guard.

../../skia/ext/skia_utils_mac.mm:400:42: error: no member named 'getTotalClip' in 'SkCanvas'
      const SkRegion& clipRgn = canvas_->getTotalClip();
                                ~~~~~~~  ^

Original issue's description:
> remove guarded code - there are no more callers
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c5d5cf9489977aa6fba077d1dc242029fbb4859e

R=scroggo@google.com, reed@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/342843002
2014-06-18 15:51:20 -07:00
reed
c5d5cf9489 remove guarded code - there are no more callers
BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/343783002
2014-06-18 14:41:26 -07:00
humper
4a24cd8ff4 Fifth attempt to land faster rect blur. Remove unnecessary conditionals from the shader.
approved over in https://codereview.chromium.org/331863006/; reuploading
because it had the wrong base url

BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon

Author: humper@google.com

Review URL: https://codereview.chromium.org/341543005
2014-06-17 13:39:31 -07:00
senorblanco
f3b50276a4 Perlin noise cleanup.
Remove Simplex noise implementation and now-redundant base classes.

BUG=skia:
R=sugoi@chromium.org, sugoi@google.com, reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/336043002
2014-06-16 10:49:58 -07:00
rs.prinja
39e58adb99 Randomize seed for SkDiscretePathEffect::filterPath()
Fix for https://code.google.com/p/skia/issues/detail?id=2581. Randomizes
the seed in SkDiscretePathEffect::filterPath(). Prior to this we were
using the path length as a seed.

Now, if we have two different paths with identical contents and we
apply an SkDiscretePathEffect to each, we obtain two different random
paths. Previously, we would obtain two overlapping paths (identical
path contents leading to the same seed).

BUG=skia:
R=reed@google.com, scroggo@google.com

Author: rs.prinja@samsung.com

Review URL: https://codereview.chromium.org/311803002
2014-06-12 22:55:08 -07:00
scroggo
e07c1ab408 Revert of third try at landing improved blur rect; this time with more correctness (https://codereview.chromium.org/331443003/)
Reason for revert:
Failing layout test: https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux/32762/layout-test-results/virtual/gpu/fast/canvas/canvas-draw-canvas-on-canvas-shadow-pretty-diff.html

Original issue's description:
> third try at landing improved blur rect; this time with more correctness
>
> BUG=skia:2095
> R=bsalomon@google.com
> TBR=bsalomon
>
> Committed: https://skia.googlesource.com/skia/+/72abfc2b4e7caead660f6b6a05e60d05eaf1a66f

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=skia:2095

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/333763002
2014-06-12 12:10:24 -07:00
senorblanco
ce6a354e12 Fix tiled perlin noise.
It turns out that the perlin implementation we inherited from WebKit
does not actually generate tileable noise (see Chromium bug
http://crbug.com/383495).

The main problem is that when generating coordinates for gradient
interpolation, it was attempting to wrap both x and (x + 1)
simultaneously at the tile boundary (that is, either both or neither
are wrapped). This obviously won't work, since along the tile seams,
(x + 1) should be wrapped, but x should not. The same is true in y.

This patch fixes both the CPU and GPU paths, renames some variables to
more closely match the spec, and modifies the perlin noise GM to
actually test tiling. (Note that the clipping the GM was doing was
removed, since it's superfluous: it used to be necessary for image
filters, but isn't anymore, and this isn't an image filter GM anyway.)

R=sugoi@google.com, sugoi
TBR=senorblanco

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/332523006
2014-06-12 11:24:20 -07:00
humper
72abfc2b4e third try at landing improved blur rect; this time with more correctness
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon

Author: humper@google.com

Review URL: https://codereview.chromium.org/331443003
2014-06-11 12:42:49 -07:00
reed
b0b1aa04ed Revert of second try at landing improved blur rect (https://codereview.chromium.org/325703002/)
Reason for revert:
broke some fast/canvas layout tests

Original issue's description:
> second try at landing improved blur rect
>
> BUG=skia:2095
> TBR=bsalomon
>
> Committed: https://skia.googlesource.com/skia/+/e9ea0d6b7d59ac3b7e257281e545b24bcc0d2a76

R=bsalomon@google.com, reed@chromium.org, humper@google.com
TBR=bsalomon@google.com, humper@google.com, reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2095

Author: reed@google.com

Review URL: https://codereview.chromium.org/322423002
2014-06-11 07:26:23 -07:00
egdaniel
a22ea18823 Move Dashing filterPath to a dashing utils file
From inside GrContext, we have a need to create an SkPath an original path and
some dashing info. We do not have access to the original path effect so we need
a way to make the FilterPath function accessible outside of the effect. So I moved
the core filterPath code (and all need helper functions) out of SkDashPathEffect
and created a SkDashPath in utils to store these helper functions.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/576dcdc793a762ec63fbecdbfd5768066b548fe5

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/314623004
2014-06-11 06:51:51 -07:00
dandov
9de5b514d3 SkShader::asNewEffect Refactoring
The new signature is:

	bool asNewEffect(GrContext* context, const SkPaint& paint, GrColor* grColor, GrEffectRef** grEffect, const SkMatrix* localMatrixOrNull) const;

It will fix the hack for skcolorshader by modifying the GrColor parameter in SkGr::SkPaint2GrPaintShader.

BUG=skia:2646
R=jvanverth@google.com, bsalomon@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/318923005
2014-06-10 14:38:28 -07:00
reed
6c22573edb hide SkBitmap::setConfig
patch from issue 325733002

TBR=scroggo

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/322963002
2014-06-09 19:52:07 -07:00
humper
e9ea0d6b7d second try at landing improved blur rect
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon

Author: humper@google.com

Review URL: https://codereview.chromium.org/325703002
2014-06-09 14:35:21 -07:00
egdaniel
8405ef9854 Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/311373003
2014-06-09 11:57:28 -07:00
jvanverth
d78a2fac37 Rollback of fe689c46 and all subsequent changes
BUG=skia:
R=humper@google.com
TBR=humper@google.com
NOTRY=True
NOTREECHECKS=True

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/324463005
2014-06-06 13:40:36 -07:00
humper
9ab6c00f6c remove extra debug prints
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/314423002
2014-06-06 13:28:04 -07:00
humper
39dd491efe fix 10.6 shader tests
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/324543002
2014-06-06 12:55:23 -07:00
humper
e10a4ff45a repair math error introduced by windows build fix
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/320593003
2014-06-06 12:21:03 -07:00
humper
1afc04d877 one channel texture fix for blur shader
BUG=skia:
R=bsalomon@google.com
TBR=bsalomon
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/319543007
2014-06-06 11:55:24 -07:00
humper
7bf666a00f fix blur test
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/323583002
2014-06-06 11:22:50 -07:00
humper
fe689c46a7 Faster GPU rect blur that doesn't require computing vertical and horizontal
scanlines on the CPU first.  Should make extremely large drop shadows fast
again.

BUG=skia:
R=bsalomon@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/316273004
2014-06-06 09:48:40 -07:00
egdaniel
97724ed4cf Revert of Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds. (https://codereview.chromium.org/311373003/)
Reason for revert:
changed assert is failing

Original issue's description:
> Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/be4fd4f7349b97a7c34a4177ec26d8aea9616628

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/320573002
2014-06-06 07:47:17 -07:00
egdaniel
be4fd4f734 Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/311373003
2014-06-06 07:26:16 -07:00
sugoi
56d135c03e Adding kernel offset validation
Fixing bug found by clusterfuzz in SkMatrixConvolutionImageFilter.

BUG=381244
R=senorblanco@google.com, senorblanco@chromium.org, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/319003002
2014-06-06 06:22:03 -07:00
egdaniel
90b8cafb6a Revert of Move Dashing filterPath to a dashing utils file (https://codereview.chromium.org/314623004/)
Reason for revert:
Need to create utils.gypi file and update chrome

Original issue's description:
> Move Dashing filterPath to a dashing utils file
>
> From inside GrContext, we have a need to create an SkPath an original path and
> some dashing info. We do not have access to the original path effect so we need
> a way to make the FilterPath function accessible outside of the effect. So I moved
> the core filterPath code (and all need helper functions) out of SkDashPathEffect
> and created a SkDashPath in utils to store these helper functions.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/576dcdc793a762ec63fbecdbfd5768066b548fe5

R=bsalomon@google.com, reed@google.com, rmistry@google.com
TBR=bsalomon@google.com, reed@google.com, rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/317663003
2014-06-04 09:59:08 -07:00
egdaniel
576dcdc793 Move Dashing filterPath to a dashing utils file
From inside GrContext, we have a need to create an SkPath an original path and
some dashing info. We do not have access to the original path effect so we need
a way to make the FilterPath function accessible outside of the effect. So I moved
the core filterPath code (and all need helper functions) out of SkDashPathEffect
and created a SkDashPath in utils to store these helper functions.

BUG=skia:
R=bsalomon@google.com, reed@google.com, rmistry@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/314623004
2014-06-04 08:15:53 -07:00
robertphillips
9b14f26d0f Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
scroggo
65044bfe02 Return NULL when building empty LayerRasterizer.
In SkLayerRasterizer::snapshotRasterizer() and ::detachRasterizer(),
if no layers have been added, do not attempt to create an
SkLayerRasterizer. Instead, return NULL.

This fixes an error when running tests on Android.

Update dox to state that NULL may be returned.

Add tests.

R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/313653006
2014-06-03 13:12:51 -07:00
reed
868074b50b remove SkBounder -- unused and unloved
BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/312553006
2014-06-03 10:54:00 -07:00
reed
c77392ed58 use colortype instead of config
clone of https://codereview.chromium.org/305133006/

TBR=

BUG=skia:

Author: reed@google.com

Review URL: https://codereview.chromium.org/301233011
2014-06-02 13:07:26 -07:00
commit-bot@chromium.org
ed4dc2afaa remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/308953002

git-svn-id: http://skia.googlecode.com/svn/trunk@15016 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-31 21:47:03 +00:00
senorblanco@chromium.org
97f5fc6519 Allow SkPictureImageFilter to be serialized when not run cross-process.
Picture serialization is not yet hardened, but it turns out we do need
serialization of SkPictureImageFilter for deferred SVG-on-SVG filters,
since the SkPaints (and thus the SkImageFilters) are serialized by
SkPictureRecord. However, deferred filters are always drawn in the
same process, so we can safely serialize them in this case. We do this
by turning the compile-time check for
SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION to a runtime check for
isCrossProcess().

The image filter fuzzer sample was also modified to enable fuzzing
of basic picture image filters (the code had rotted a bit, being behind
an #ifdef that no one sets).

BUG=375162
R=sugoi@google.com

Review URL: https://codereview.chromium.org/311443003

git-svn-id: http://skia.googlecode.com/svn/trunk@15008 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:50:56 +00:00
senorblanco@chromium.org
910702b564 Implement SkPictureImageFilter bounds computation.
SkPictureImageFilter::onFilterBounds() was unimplemented, causing
incorrect results for SVG filters and impl-side painting (see Chrome
bug https://code.google.com/p/chromium/issues/detail?id=375162).

BUG=skia:
R=reed@google.com

Review URL: https://codereview.chromium.org/306733003

git-svn-id: http://skia.googlecode.com/svn/trunk@15003 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:36:15 +00:00
commit-bot@chromium.org
a3264e53ee Revert "Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)"
This reverts commit eecaea4148805834f223681f70b6488ceba12d09.

R=robertphillips@google.com, scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/301283003

git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:26:10 +00:00
commit-bot@chromium.org
d0f824cfbd Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)
Reason for revert:
broke all Windows bots

Original issue's description:
> setConfig -> setInfo
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14978

R=robertphillips@google.com, reed@google.com
TBR=reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: epoger@google.com

Review URL: https://codereview.chromium.org/302053002

git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 21:10:32 +00:00
commit-bot@chromium.org
986d681f3e setConfig -> setInfo
BUG=skia:
R=robertphillips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/308683005

git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:47:53 +00:00
commit-bot@chromium.org
00f8d6c75d Revert "Revert of add colortable support to imagegenerator (https://codereview.chromium.org/304443003/)"
Fix is to add colortable param to installPixels()

This reverts commit 924205aaf2.

BUG=skia:
R=scroggo@google.com, reed@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/300263005

git-svn-id: http://skia.googlecode.com/svn/trunk@14958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 15:57:20 +00:00
senorblanco@chromium.org
29ac34ee52 Fix filter bounds computation for SkOffsetImageFilter.
SkOffsetImageFilter::onFilterBounds() was not recursing into its input
filter when computing bounds.

BUG=374556
R=junov@chromium.org

Review URL: https://codereview.chromium.org/304743003

git-svn-id: http://skia.googlecode.com/svn/trunk@14928 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 19:29:25 +00:00
commit-bot@chromium.org
851155c28e remove SK_SUPPORT_LEGACY_BITMAPFLATTEN code
BUG=skia:
R=scroggo@google.com, reed@google.com

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/303563002

git-svn-id: http://skia.googlecode.com/svn/trunk@14888 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 14:03:51 +00:00
commit-bot@chromium.org
968edcafa6 stop calling SkBitmap::flatten
BUG=skia:
R=scroggo@google.com, halcanary@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/295793002

git-svn-id: http://skia.googlecode.com/svn/trunk@14867 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 13:21:55 +00:00
commit-bot@chromium.org
83f23d87f1 Remove unused (by clients) SkUnitMapper
This reverts commit 874423a81b5bc2541c7397e6ab00d5e7c9fdaf98.

TBR=scroggo

Author: reed@google.com

Review URL: https://codereview.chromium.org/288313009

git-svn-id: http://skia.googlecode.com/svn/trunk@14842 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 12:27:41 +00:00
commit-bot@chromium.org
ecd856c36d Revert of Fix compilation error when building with clang on Linux. (https://codereview.chromium.org/287193006/)
Reason for revert:
need to revert this along with reverting the big unitmapper cl

Original issue's description:
> Fix compilation error when building with clang on Linux.
>
> ../../src/effects/gradients/SkGradientShader.cpp:487:22: error: unused
> function 'bitsTo16' [-Werror,-Wunused-function]
> static inline U16CPU bitsTo16(unsigned x, const unsigned bits) {
>
> R=bsalomon@google.com
> TEST=make tests
>
> Committed: http://code.google.com/p/skia/source/detail?r=14835

R=bsalomon@google.com, reed@google.com, tfarina@chromium.org
TBR=bsalomon@google.com, reed@google.com, tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/297803010

git-svn-id: http://skia.googlecode.com/svn/trunk@14839 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 03:20:47 +00:00
commit-bot@chromium.org
3339ac54a5 Revert of Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/) (https://codereview.chromium.org/288343009/)
Reason for revert:
required blink change failed to land

Original issue's description:
> Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
>
> This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14830

R=scroggo@google.com, reed@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/296823008

git-svn-id: http://skia.googlecode.com/svn/trunk@14838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 02:55:59 +00:00
commit-bot@chromium.org
2b4c338dac Fix compilation error when building with clang on Linux.
../../src/effects/gradients/SkGradientShader.cpp:487:22: error: unused
function 'bitsTo16' [-Werror,-Wunused-function]
static inline U16CPU bitsTo16(unsigned x, const unsigned bits) {

R=bsalomon@google.com, reed@google.com
TEST=make tests

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/287193006

git-svn-id: http://skia.googlecode.com/svn/trunk@14835 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 22:31:00 +00:00
commit-bot@chromium.org
3236109527 Remove SkDebugf that is gumming up the bot logs
This SkDebugf is making the bot logs a bit harder to read:

http://108.170.220.120:10117/builders/Perf-Win7-ShuttleA-HD2000-x86-Release-ANGLE/builds/1959/steps/BenchPictures/logs/stdio

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/296153003

git-svn-id: http://skia.googlecode.com/svn/trunk@14832 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 20:42:57 +00:00
commit-bot@chromium.org
4b8f802255 Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/288343009

git-svn-id: http://skia.googlecode.com/svn/trunk@14830 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 19:56:46 +00:00
commit-bot@chromium.org
7ed173b1eb formalize named picture versions
BUG=skia:
R=mtklein@google.com, robertphillips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/291913004

git-svn-id: http://skia.googlecode.com/svn/trunk@14807 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:31:08 +00:00
commit-bot@chromium.org
941ff78d79 Remove legacy constructor for blur draw looper.
Now that Android no longer uses the constructor, remove it, along
with the flag.

R=djsollen@google.com, reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/299683002

git-svn-id: http://skia.googlecode.com/svn/trunk@14797 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:53:32 +00:00
commit-bot@chromium.org
7ba1702bbb fix off-by-one error in texture coordinate calculations for rrect gpu
blur; output now matches CPU

BUG=
R=bsalomon@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/292773003

git-svn-id: http://skia.googlecode.com/svn/trunk@14788 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 18:51:05 +00:00
commit-bot@chromium.org
e2b193ca5c Revert of remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
Reason for revert:
does not address all legacy callsites in chrome.

e.g.

[13:45:32.091872] ../../ui/native_theme/native_theme_base.cc:608:76: error: no matching function for call to ‘SkGradientShader::CreateLinear(SkPoint [3], SkColor [3], NULL, int, SkShader::TileMode, NULL)’
[13:45:32.091919]            gradient_bounds, colors, NULL, 3, SkShader::kClamp_TileMode, NULL));


Original issue's description:
> remove unused (by clients) SkUnitMapper
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14761

R=robertphillips@google.com, scroggo@google.com, george@mozilla.com
TBR=george@mozilla.com, robertphillips@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

Review URL: https://codereview.chromium.org/287063009

git-svn-id: http://skia.googlecode.com/svn/trunk@14763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:49:08 +00:00
commit-bot@chromium.org
ee0cac336c remove unused (by clients) SkUnitMapper
BUG=skia:
R=robertphillips@google.com, scroggo@google.com, george@mozilla.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/283273002

git-svn-id: http://skia.googlecode.com/svn/trunk@14761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:35:01 +00:00
commit-bot@chromium.org
6b3eebce43 Add check for bad dash interval in dash effect picture read
BUG=skia:2542
R=caryclark@google.com, reed@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/275053004

git-svn-id: http://skia.googlecode.com/svn/trunk@14708 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 14:45:29 +00:00
commit-bot@chromium.org
5970f625e9 re-land hide get/setLocalMatrix
This reverts commit b1d702a43b07934f5b001b1b09db2c57ede909a1.

TBR=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/279903002

git-svn-id: http://skia.googlecode.com/svn/trunk@14702 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 20:42:21 +00:00
reed@google.com
b67b8e6052 apply localmatrix in pre-order, to match other shaders
BUG=skia:

Review URL: https://codereview.chromium.org/280293002

git-svn-id: http://skia.googlecode.com/svn/trunk@14699 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 18:12:24 +00:00
commit-bot@chromium.org
e003aecb30 remove unused Kernel33MaskFilter
R=robertphillips@google.com
TBR=robertphilips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/280233002

git-svn-id: http://skia.googlecode.com/svn/trunk@14691 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 13:35:55 +00:00
reed@google.com
eaa674987f add localmatrix param to asNewEffect
BUG=skia:

Review URL: https://codereview.chromium.org/278983002

git-svn-id: http://skia.googlecode.com/svn/trunk@14688 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:52:23 +00:00
commit-bot@chromium.org
96fb7489ba add localmatrix parameter to shader's asNewEffect
BUG=skia:
R=bsalomon@google.com, dominikg@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/278963002

git-svn-id: http://skia.googlecode.com/svn/trunk@14686 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:28:11 +00:00
commit-bot@chromium.org
d12de02542 Revert of hide get/setLocalMatrix (https://codereview.chromium.org/279563002/)
Reason for revert:
broke gms

Original issue's description:
> hide get/setLocalMatrix
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14675

R=fmalita@google.com, dominikg@chromium.org, fmalita@chromium.org
TBR=dominikg@chromium.org, fmalita@chromium.org, fmalita@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

Review URL: https://codereview.chromium.org/278903002

git-svn-id: http://skia.googlecode.com/svn/trunk@14677 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 15:42:07 +00:00
commit-bot@chromium.org
5adad325c5 hide get/setLocalMatrix
BUG=skia:
R=fmalita@google.com, dominikg@chromium.org, fmalita@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/279563002

git-svn-id: http://skia.googlecode.com/svn/trunk@14675 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 15:19:48 +00:00
senorblanco@chromium.org
ba31f1d341 Some small cleanups for image filter code.
Use the 2-param flavour of mapVector instead of the 3-param, where possible.
Add an SkMatrixImageFilter test case to the tiling unit test.

R=junov@chromium.org

Review URL: https://codereview.chromium.org/277543002

git-svn-id: http://skia.googlecode.com/svn/trunk@14630 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:56:08 +00:00
senorblanco@chromium.org
d4db657bf5 Fix for SkDisplacementMap::onFilterBounds().
Two problems: we were not applying the CTM to the scale parameter when
modifying clip bounds, and the recursion for onFilterBounds() must be done
in the reverse order.

BUG=370914
R=junov@chromium.org

Review URL: https://codereview.chromium.org/272643003

git-svn-id: http://skia.googlecode.com/svn/trunk@14627 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:00:04 +00:00
commit-bot@chromium.org
eab6c9a9ba Fix Dash Effect readback calc for fPhase from old skps
BUG=skia:
R=reed@google.com, bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/270223003

git-svn-id: http://skia.googlecode.com/svn/trunk@14620 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 17:35:05 +00:00
commit-bot@chromium.org
ce56d96506 Remove SkShader virtual method validContext
patch from issue 267923005

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/261773005

git-svn-id: http://skia.googlecode.com/svn/trunk@14573 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 18:39:18 +00:00
senorblanco@chromium.org
8c7372bbe8 Fix for SkMatrixConvolutionImageFilter with large borders.
Intersect the requested processing rect with the destination
bounds.

R=junov@chromium.org

Review URL: https://codereview.chromium.org/267863004

git-svn-id: http://skia.googlecode.com/svn/trunk@14543 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 19:13:11 +00:00
commit-bot@chromium.org
e901b6de3e create struct to hold all the params passed around for shader::context
BUG=skia:
R=scroggo@google.com, dominikg@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/264843006

git-svn-id: http://skia.googlecode.com/svn/trunk@14514 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 19:31:31 +00:00
commit-bot@chromium.org
508022cff0 expose ConvertRadiusToSigma to aid clients in the API transition to sigma
NOTRY=True
R=robertphillips@google.com, fmalita@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/264923002

git-svn-id: http://skia.googlecode.com/svn/trunk@14501 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 15:24:55 +00:00
senorblanco@chromium.org
9195743aac Add a fix for a spurious assert in SkMatrixConvolutionImageFilter.
When matrix convolution processes border pixels with zero width, it
asserts in getAddr32() with an invalid x coordinate. The assert is
harmless, since the returned pointer is never accessed (the next line
is a loop from left to right, which does nothing, since left == right).
However, the fix is simple: early out on an empty rect before entering
the outer loop.

R=sugoi@chromium.org

Review URL: https://codereview.chromium.org/265693005

git-svn-id: http://skia.googlecode.com/svn/trunk@14497 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 14:03:41 +00:00
commit-bot@chromium.org
88cb22b6b4 Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/257393004

git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 14:17:00 +00:00
skia.committer@gmail.com
eeaeafebde Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14453 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 03:05:25 +00:00
senorblanco@chromium.org
0a5c233e3b Implement bounds traversals for tile and matrix convolution filters.
Add a new GM that exercises tiled drawing all pixel-moving filters
(and some non-pixel-moving ones) and compares it against non-tiled
drawing of the same filters. Fixing this test revealed that tile and
matrix convolution filters had no onFilterBounds() traversals
(test-driven development FTW). Tile requires (conservatively) the
bounds to include the whole source rect, since it may end up in the
result. Matrix convolution requires the bounds to be offset by the
kernel size and target.

R=reed@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/258243005

git-svn-id: http://skia.googlecode.com/svn/trunk@14432 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:20:39 +00:00
reed@google.com
daaafa6e81 add asAShadowBlur for android to drawlooper
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
2014-04-29 15:20:16 +00:00
commit-bot@chromium.org
6b127cd2b1 fix leaks in blurrrect -- this should address the valgrind issues.
BUG=skia:
R=caryclark@google.com
TBR=caryclark

Author: humper@google.com

Review URL: https://codereview.chromium.org/256273002

git-svn-id: http://skia.googlecode.com/svn/trunk@14429 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 04:41:33 +00:00
commit-bot@chromium.org
3d8bf232bd 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

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
2014-04-28 19:49:24 +00:00
commit-bot@chromium.org
55aec08681 revert humper changes
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
2014-04-28 18:21:24 +00:00
commit-bot@chromium.org
e396455d2d move common blur types into central header
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
2014-04-28 16:25:35 +00:00
commit-bot@chromium.org
24e91ba302 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

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
2014-04-28 15:09:14 +00:00
commit-bot@chromium.org
9c9005a347 Move SkShader::fLocalMatrix into SkShader constructor.
As a first step towards removing SkShader::setLocalMatrix, which will make
SkShader thread-safe, remove calls to setLocalMatrix that happen immediately
after the shader is being created. Instead, pass the matrix into the constructor
or factory method.

BUG=skia:1976
R=scroggo@google.com, reed@google.com, skyostil@google.com, mtklein@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/245963010

git-svn-id: http://skia.googlecode.com/svn/trunk@14401 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 14:55:39 +00:00
commit-bot@chromium.org
c76a4b2a81 Revert of Fast path for blurred round rects -- blur a small 9patch rect on 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
2014-04-28 14:44:54 +00:00
commit-bot@chromium.org
5729387fe0 Fast path for blurred round rects -- blur a small 9patch rect on the CPU
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
2014-04-28 13:19:23 +00:00
commit-bot@chromium.org
74e608cdc1 Use default save() flags in SkBlurDrawLooper.
SkBlurDrawLooper::BlurDrawLooperContext::next() is explicitely saving
the matrix - but it doesn't rely on any clip changes persisting after
restore().

Use the default flags instead (previous internal SaveFlags cleanup
missed this user).

R=robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/249733002

git-svn-id: http://skia.googlecode.com/svn/trunk@14335 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:26:38 +00:00
commit-bot@chromium.org
3adcc34033 stop using deprecated bitmap::config for gpu
BUG=skia:
R=bsalomon@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/248473006

git-svn-id: http://skia.googlecode.com/svn/trunk@14330 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:18:09 +00:00
commit-bot@chromium.org
87fcd95019 Revert of Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/249643002/)
Reason for revert:
Chromium side change landed along side DEPS roll that includes r14323.

Original issue's description:
> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)
>
> Reason for revert:
> This is blocking the DEPS roll into Chromium. Failures can be seen here:
>
> http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
>
> Original issue's description:
> > Extract most of the mutable state of SkShader into a separate Context object.
> >
> > SkShader currently stores some state during draw calls via setContext(...).
> > Move that mutable state into a separate SkShader::Context class that is
> > constructed on demand for the duration of the draw.
> >
> > Calls to setContext() are replaced with createContext() which returns a context
> > corresponding to the shader object or NULL if the parameters to createContext
> > are invalid.
> >
> > TEST=out/Debug/dm
> > BUG=skia:1976
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14216
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14323
>
> TBR=scroggo@google.com,skyostil@chromium.org,tomhudson@chromium.org,senorblanco@chromium.org,reed@google.com,bungeman@google.com,dominikg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14326

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/246403013

git-svn-id: http://skia.googlecode.com/svn/trunk@14328 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:10:51 +00:00
commit-bot@chromium.org
6e5671d8c9 Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)
Reason for revert:
This is blocking the DEPS roll into Chromium. Failures can be seen here:

http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333

Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216
>
> Committed: http://code.google.com/p/skia/source/detail?r=14323

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com, dominikg@chromium.org
TBR=bungeman@google.com, dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/249643002

git-svn-id: http://skia.googlecode.com/svn/trunk@14326 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 16:16:55 +00:00
commit-bot@chromium.org
bc2f1dc85e Extract most of the mutable state of SkShader into a separate Context object.
SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.

Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.

TEST=out/Debug/dm
BUG=skia:1976

Committed: http://code.google.com/p/skia/source/detail?r=14216

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/207683004

git-svn-id: http://skia.googlecode.com/svn/trunk@14323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 09:11:58 +00:00
skia.committer@gmail.com
ede0c5c778 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14320 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 03:04:11 +00:00
commit-bot@chromium.org
80894678ca Fix double to SkScalar issues in SkTwoPointConicalGradient_gpu.cpp
NOTREECHECKS=True
NOTRY=True
TBR=bsalomon@google.com
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/247833003

git-svn-id: http://skia.googlecode.com/svn/trunk@14318 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 21:24:22 +00:00
commit-bot@chromium.org
c8379d7f1b Add gpu fast path for two point conical gradients.
Also shader changes should help numerical issues on certain android gpus

BUG=179264
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/238443006

git-svn-id: http://skia.googlecode.com/svn/trunk@14316 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 20:56:37 +00:00
commit-bot@chromium.org
6c5aea2f10 Use GradFlags for gradient Flags in SkGradientShader
This is done to avoid confusion with other Flag variable used for alpha
type in shader

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/247433002

git-svn-id: http://skia.googlecode.com/svn/trunk@14298 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 16:25:15 +00:00
commit-bot@chromium.org
aec143824c Add asADash entry point into SkPathEffect to allow extracting Dash info from PathEffects
BUG=skia:
R=bsalomon@google.com, reed@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/212103010

git-svn-id: http://skia.googlecode.com/svn/trunk@14297 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 15:21:18 +00:00
skia.committer@gmail.com
d3b28e8847 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14294 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 03:05:17 +00:00
commit-bot@chromium.org
811f20de4d Add missing scale value to fix SkGradientShader memory error
BUG=skia:2446
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/245623005

git-svn-id: http://skia.googlecode.com/svn/trunk@14291 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 21:09:49 +00:00
commit-bot@chromium.org
44d83c1e81 Add flipped gradient branch to two point conical gradient
BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=14235

R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/227623004

git-svn-id: http://skia.googlecode.com/svn/trunk@14271 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 13:10:25 +00:00
skia.committer@gmail.com
8a777a5e6a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14264 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-19 03:04:56 +00:00
reed@google.com
33a94e2ba7 remove unused fOverflowed from SkClampRange
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/243563002

git-svn-id: http://skia.googlecode.com/svn/trunk@14260 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 19:36:22 +00:00
commit-bot@chromium.org
996402bddb Get gradient information for gpu effect directly from SkGradientShader instead of calling asAGradient
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/241173005

git-svn-id: http://skia.googlecode.com/svn/trunk@14254 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 14:42:11 +00:00
commit-bot@chromium.org
091a594dbc Reduce internal explicit SaveFlags usage.
Most of these are either redundant/defaults or (hopefully)
unnecessarily specific.

R=reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/241453003

git-svn-id: http://skia.googlecode.com/svn/trunk@14253 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 14:19:31 +00:00
commit-bot@chromium.org
53783b026a Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/)
Reason for revert:
Causing memory leaks in Chromium.

Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216

R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, dominikg@chromium.org
TBR=dominikg@chromium.org, reed@google.com, scroggo@google.com, senorblanco@chromium.org, skyostil@chromium.org, tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/241283003

git-svn-id: http://skia.googlecode.com/svn/trunk@14247 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 21:09:49 +00:00
commit-bot@chromium.org
68ea91a493 Revert of Fix memory leak in SkGradientShader. (https://codereview.chromium.org/240303003/)
Reason for revert:
This and https://codereview.chromium.org/207683004 are causing memory leaks.

Original issue's description:
> Fix memory leak in SkGradientShader.
>
> Make sure pointer to gradient shader cache is unreffed in SkGradientShaderBase::getGradientTableBitmap.
> Rename methods returning a "pre-reffed" object to indicate obligations.
>
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14223

R=reed@google.com, scroggo@google.com, dominikg@chromium.org
TBR=dominikg@chromium.org, reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/241603002

git-svn-id: http://skia.googlecode.com/svn/trunk@14245 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 21:02:29 +00:00
commit-bot@chromium.org
7518ff2d7e Revert of Add flipped gradient branch to two point conical gradient (https://codereview.chromium.org/227623004/)
Reason for revert:
Breaking all CompareGMs

Original issue's description:
> Add flipped gradient branch to two point conical gradient
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14235

R=bsalomon@google.com, mtklein@google.com
TBR=bsalomon@google.com, mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/239993006

git-svn-id: http://skia.googlecode.com/svn/trunk@14236 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 13:57:31 +00:00
commit-bot@chromium.org
cf41935735 Add flipped gradient branch to two point conical gradient
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/227623004

git-svn-id: http://skia.googlecode.com/svn/trunk@14235 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 13:28:06 +00:00
commit-bot@chromium.org
9631337be0 Fix memory leak in SkGradientShader.
Make sure pointer to gradient shader cache is unreffed in SkGradientShaderBase::getGradientTableBitmap.
Rename methods returning a "pre-reffed" object to indicate obligations.

BUG=skia:1976
R=reed@google.com, scroggo@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/240303003

git-svn-id: http://skia.googlecode.com/svn/trunk@14223 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 16:17:39 +00:00
commit-bot@chromium.org
001f4ed2fb Extract most of the mutable state of SkShader into a separate Context object.
SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.

Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.

TEST=out/Debug/dm
BUG=skia:1976
R=scroggo@google.com, skyostil@chromium.org, tomhudson@chromium.org, senorblanco@chromium.org, reed@google.com, bungeman@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/207683004

git-svn-id: http://skia.googlecode.com/svn/trunk@14216 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 10:16:39 +00:00
commit-bot@chromium.org
73cb15351f Make sure SkDrawLooper objects can only be allocated on the heap.
Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public.
Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is
used to create new objects.
Provide factory method for creating SkBlurDrawLooper.

BUG=2141
R=scroggo@google.com, reed@google.com, djsollen@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/232913003

git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 15:48:36 +00:00
commit-bot@chromium.org
f7efa502d6 Implement intra-frame cacheing in image filters.
When image filters are processed within Skia, they simply do
a blind recursion. This has the side-effect of turning the
DAG into a tree. I.e., nodes visited more than once during
the traversal will be processed more than once.

This change implements a very simple cacheing scheme: a
cache is created before traversing the DAG, and handed
into the processing traversal. Before recursing into a child
in SkImageFilter::filterImage(), the cache is checked for a
hit, and early-out is performed. Otherwise, the node is
processed, and its result bitmap and location (offset) are
cached, but only if it contains two or more children and
thus will be visited again during the traversal.

Currently, the child count is approximated with the
refcount. This is good enough in most cases (and exactly
correct for the Chrome use case). We could add an exact
child count to the image filter, but this will require
violating the immutability of image filters slightly in
order to bump the child count as nodes are connected. I
leave it up to the reviewer to decide which is better.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/230653005

git-svn-id: http://skia.googlecode.com/svn/trunk@14160 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 18:57:00 +00:00
commit-bot@chromium.org
28fcae2ec7 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
Want to reland the original CL.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, bensong@google.com
TBR=bensong@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/235523003

git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 17:15:40 +00:00
commit-bot@chromium.org
96edc24598 Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/234833003

git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 13:47:30 +00:00
commit-bot@chromium.org
d923288e50 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/233813004

git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:49:20 +00:00
commit-bot@chromium.org
757ebd20ef Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

Review URL: https://codereview.chromium.org/234243002

git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:36:34 +00:00
commit-bot@chromium.org
6573ce70e6 Create SkLayerRasterizer w/o destroying Builder.
Add a new method to SkLayerRasterizer::Builder that creates a new
SkLayerRasterizer without destroying the Builder. Necessary to
continue to support Android's API.

Also fix a bug where creating a Builder and never calling
detachRasterizer results in not calling the destructor for any SkPaints
in the Builder.

Add tests.

BUG=b/13729784
R=reed@google.com, dominikg@chromium.org

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/233673002

git-svn-id: http://skia.googlecode.com/svn/trunk@14139 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 20:42:53 +00:00
commit-bot@chromium.org
7f43493ae6 Fix GPU-less build.
Do not include GrTBackendEffectFactory.h if SK_SUPPORT_GPU is
undefined.

R=egdaniel@google.com
TBR=egdaniel@google.com
NOTREECHECKS=true
NOTRY=true

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/233093003

git-svn-id: http://skia.googlecode.com/svn/trunk@14134 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 16:03:06 +00:00
commit-bot@chromium.org
ef93d294ef Move build guard to fix Android framework compile.
After merging into the Android tree, this file was not compiling.
It turns out that it was because SK_SUPPORT_GPU was not defined. When
built by GYP, SK_SUPPORT_GPU is defined by GYP. When built by the
Android framework, we depend on SkUserConfig.h, which is included by
other files, to set SK_SUPPORT_GPU. Moving the includes outside of
#if SK_SUPPORT_GPU ensures that the dependency chain defining
SK_SUPPORT_GPU is included, so this code gets compiled as expected.

R=egdaniel@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/228893003

git-svn-id: http://skia.googlecode.com/svn/trunk@14132 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 15:37:52 +00:00
commit-bot@chromium.org
149e9a107c Rename kPMColor_SkColorType to kN32_SkColorType.
The new name better represents what this flag means.

BUG=skia:2384
R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/227433009

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 20:45:29 +00:00
commit-bot@chromium.org
b554440543 Remove SkResizeImageFilter.
Its functionality has been subsumed by SkMatrixImageFilter, and it's no longer
used in Blink.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/222923005

git-svn-id: http://skia.googlecode.com/svn/trunk@14073 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-07 15:11:08 +00:00
skia.committer@gmail.com
0f8c859fb8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14070 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-05 03:05:27 +00:00
senorblanco@chromium.org
a8d95f899b Perform perlin noise matrix computations once per frame, not per pixel.
Before (Retina MBP):
running bench [640 480]                              perlinnoise   8888:  cmsecs =   1853.18

After:
running bench [640 480]                              perlinnoise   8888:  cmsecs =   1667.06

Review URL: https://codereview.chromium.org/225583006

git-svn-id: http://skia.googlecode.com/svn/trunk@14060 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-04 14:46:10 +00:00
commit-bot@chromium.org
2af1a2dbc4 Add base effect for gpu 2pt conical gradients
This is in preparation to add more "sub-effects" for the various fast path cases for 2 pt conical gradients

BUG=skia:
R=jvanverth@google.com, robertphillips@google.com, bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/224083002

git-svn-id: http://skia.googlecode.com/svn/trunk@14059 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-04 13:50:50 +00:00
skia.committer@gmail.com
221b911f38 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14058 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-04 03:04:32 +00:00
commit-bot@chromium.org
1cf21d2835 Fix for SkTwoPointConicalGradient_gpu define
NOTREECHECK=True
NOTRY=True
TBR=robertphillips@google.com

BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/224353002

git-svn-id: http://skia.googlecode.com/svn/trunk@14051 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 18:27:11 +00:00
commit-bot@chromium.org
aa64fbfd34 Pull Gpu shader out of SkTwoPointConicalGradient into own file
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/222943002

git-svn-id: http://skia.googlecode.com/svn/trunk@14044 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 14:59:19 +00:00
commit-bot@chromium.org
51a11b7f2f Arithmetic mode now has the option of not validating the output color, which will allow multiple arithmetic operations to be done sequentially, without intermediate clamping. This is required for mimicking blink's current behavior.
BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org, reed@google.com, bsalomon@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/204543006

git-svn-id: http://skia.googlecode.com/svn/trunk@14031 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 19:32:15 +00:00
senorblanco@chromium.org
ee845ae494 Fix SkXfermodeImageFilter when an input is cropped out.
If one of inputs to SkXfermodeImageFilter draws nothing, either due to
it being cropped out upstream, or within the filter itself, the filter
should still draw the other input, since otherwise the result will be incorrect.

For the GPU path, since we can't detect this case in
canFilterImageGPU() without recursing, we'll just drop to
the generic path if either input is empty, since we can't use the effect in that case anyway.

While we're at it, let's drop to the generic path if the
xfermode can't be expressed as an effect, since the code
here was doing a 2-pass render in that case anyway, which
is equivalent to what the (xfermode == NULL) case was doing
anyway.

R=bsalomon@google.com, sugoi@chromium.org

Review URL: https://codereview.chromium.org/220723007

git-svn-id: http://skia.googlecode.com/svn/trunk@14016 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 19:15:23 +00:00
commit-bot@chromium.org
9fbbcca1c9 SkPerlinNoiseShader::CreateTubulenceNoise() is misspelled
Add missing 'r'.

BUG=skia:2329
R=bsalomon@google.com, hcm@google.com, sugoi@chromium.org

Author: siglesias@igalia.com

Review URL: https://codereview.chromium.org/207543008

git-svn-id: http://skia.googlecode.com/svn/trunk@14008 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 16:09:37 +00:00
commit-bot@chromium.org
35c03fbf10 Remove scaleToFit from DashPathEffect
BUG=skia:
R=reed@google.com, bsalomon@google.com, scroggo@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/216493005

git-svn-id: http://skia.googlecode.com/svn/trunk@13999 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-31 18:52:51 +00:00
commit-bot@chromium.org
972f9cd7a0 SK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.h
BUG=skia:
R=bsalomon@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/216503004

git-svn-id: http://skia.googlecode.com/svn/trunk@13982 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 17:58:28 +00:00
senorblanco@chromium.org
fd0ec2c76a Implement a generic matrix transform image filter.
This will be used in Blink to accommodate matrices that contain
rotation or shearing. This is a generalization of SkResizeImageFilter,
so I've replaced all uses of SkResizeImageFilter in Skia. (It might be
easier to review by diffing it with SkResizeImageFilter, too.)

R=reed@google.com

Review URL: https://codereview.chromium.org/211103006

git-svn-id: http://skia.googlecode.com/svn/trunk@13941 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 17:35:10 +00:00
senorblanco@chromium.org
09843fd5c1 Fix for crash on large image blur sigma values.
This was crashing on the GPU path, due to a failed texture allocation.
The belt-and-suspenders fix is to:

1) Limit the GPU path to only allocate up to maxTextureSize.
2) Limit both the raster and GPU paths to reasonable blur sizes (box blur
   kernel size of 1000, resulting in a sigma limit of 532).

R=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/209353014

git-svn-id: http://skia.googlecode.com/svn/trunk@13923 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-24 20:50:59 +00:00
commit-bot@chromium.org
b659333bf6 Fixed double offset in resize filter
The fix is trivial, simply remove the extra offset

I added another case to the resizeimagefilter gm and made it so that it looks exactly like the one next to it, so that failure is easy to detect visually.

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/208303002

git-svn-id: http://skia.googlecode.com/svn/trunk@13892 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-21 16:19:28 +00:00
senorblanco@chromium.org
b9c95978c6 Use rounding to 8888 in lighting filters, raster path.
when converting float -> 8-bit BGRA in lighting filters, use rounding
rather than floor(). This makes the GPU and raster paths match more
closely (as tested by Blink test
feDiffuseLighting-linearrgb-lighting-color.svg).

Will affect the LSB of lighting, imagefiltersscaled GMs.

R=junov@chromium.org
BUG=skia:

Review URL: https://codereview.chromium.org/205073002

git-svn-id: http://skia.googlecode.com/svn/trunk@13863 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 19:44:41 +00:00
commit-bot@chromium.org
92362383a4 Remove SkCanvas matrix ops return value.
The internal SkMatrix ops can no longer fail -> we can remove the bool
return value.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com, scroggo@google.com, fmalita@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/200223008

git-svn-id: http://skia.googlecode.com/svn/trunk@13849 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-18 12:51:48 +00:00
senorblanco@chromium.org
d9cdff67a4 Fix GPU displacement with expanding crop rects.
Fix GPU displacement with expanding crop rects, and re-enable the
imagefilterscropexpand GM. There were two bugs: the result texture was
being created at input color bitmap size, not the cropped bounds size,
and the matrix in GrContext was not being set to identity before draw.

R=junov@chromium.org

Review URL: https://codereview.chromium.org/195973007

git-svn-id: http://skia.googlecode.com/svn/trunk@13844 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 23:41:40 +00:00
commit-bot@chromium.org
f338d7c860 Add nine patch type to SkRRect.
BUG=skia:2181

Committed: http://code.google.com/p/skia/source/detail?r=13833

R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/196343015

git-svn-id: http://skia.googlecode.com/svn/trunk@13839 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 21:17:30 +00:00
commit-bot@chromium.org
bab3fc4c90 Revert of Add nine patch type to SkRRect. (https://codereview.chromium.org/196343015/)
Reason for revert:
causes tests to have infinite loop

Original issue's description:
> Add nine patch type to SkRRect.
>
> BUG=skia:2181
>
> Committed: http://code.google.com/p/skia/source/detail?r=13833

R=robertphillips@google.com, reed@google.com
TBR=reed@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2181

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/202163004

git-svn-id: http://skia.googlecode.com/svn/trunk@13837 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 19:47:40 +00:00
commit-bot@chromium.org
761b8e5572 Add nine patch type to SkRRect.
BUG=skia:2181
R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/196343015

git-svn-id: http://skia.googlecode.com/svn/trunk@13833 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 15:39:01 +00:00
senorblanco@chromium.org
118252962f Implement support for expanding crop rects in image filters
NOTE: this patch set is based on https://codereview.chromium.org/189913021/,
and needs that patch to land first.

Until now, crop rects in Skia have only been able to reduce
the size of the destination bounds, but not expand them.
SVG semantics require the latter as well. The heart of
the change is in applyCropRect(), which now assigns each
edge, instead of doing an intersection with the crop rect.

In order to support this (and still work well with tiled
drawing) we need to clip the resulting crop rect to the
clipping region of the filters. This uses the Context struct
previously landed from https://codereview.chromium.org/189913021/.

Many of the pixel loops are not yet ready to handle a
destination rect larger than the source rect. So we provide
a convenience version of applyCropRect() which creates an
offscreen and pads it out with transparent black. Once the
pixel loops and shaders have been fixed to support larger
destination bounds, they should be switched back to the
non-drawing version of applyCropRect().

BUG=skia:
R=bsalomon@google.com, reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=13805

Review URL: https://codereview.chromium.org/198003008

git-svn-id: http://skia.googlecode.com/svn/trunk@13809 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 17:44:41 +00:00
senorblanco@chromium.org
29089179a6 Revert "Implement support for expanding crop rects in image filters"
Breaking ImageFilterTests unit test.

TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/196353021

git-svn-id: http://skia.googlecode.com/svn/trunk@13806 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 16:48:39 +00:00
senorblanco@chromium.org
0ef0501baf Implement support for expanding crop rects in image filters
NOTE: this patch set is based on https://codereview.chromium.org/189913021/,
and needs that patch to land first.

Until now, crop rects in Skia have only been able to reduce
the size of the destination bounds, but not expand them.
SVG semantics require the latter as well. The heart of
the change is in applyCropRect(), which now assigns each
edge, instead of doing an intersection with the crop rect.

In order to support this (and still work well with tiled
drawing) we need to clip the resulting crop rect to the
clipping region of the filters. This uses the Context struct
previously landed from https://codereview.chromium.org/189913021/.

Many of the pixel loops are not yet ready to handle a
destination rect larger than the source rect. So we provide
a convenience version of applyCropRect() which creates an
offscreen and pads it out with transparent black. Once the
pixel loops and shaders have been fixed to support larger
destination bounds, they should be switched back to the
non-drawing version of applyCropRect().

BUG=skia:
R=bsalomon@google.com, reed@google.com

Review URL: https://codereview.chromium.org/198003008

git-svn-id: http://skia.googlecode.com/svn/trunk@13805 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 16:35:08 +00:00
senorblanco@chromium.org
4cb543d605 Implement support for a Context parameter in image filters
Some upcoming work (support for expanding crop rects) requires
the clip bounds to be available during filter traversal. This change
replaces the SkMatrix parameter in the onFilterImage() traversals
with a Context parameter. It contains the CTM, as well as the clip
bounds.

BUG=skia:
R=reed@google.com

Review URL: https://codereview.chromium.org/189913021

git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 15:44:01 +00:00
commit-bot@chromium.org
1037d92bbc Added Z scale when X and Y scale to spot lights and point lights
Z scale is set as the average of X scale and Y scale.

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/198013002

git-svn-id: http://skia.googlecode.com/svn/trunk@13798 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 19:45:41 +00:00
commit-bot@chromium.org
0f10f7bf1f Allow toString capability to be toggled independent of developer mode.
This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/197763008

git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 18:02:17 +00:00
senorblanco@chromium.org
2ca677e75d Fix GPU colormatrix color filter with saturated alpha.
Clamp RGBA values before unpremultiplying, to match the raster path. This causes a problem when the resulting
alpha is >1.0, resulting in overly saturated RGB.

Covered by the setYUV2RGB() test case in the colormatrix GM.

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/196133006

git-svn-id: http://skia.googlecode.com/svn/trunk@13778 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 21:37:42 +00:00
commit-bot@chromium.org
84cd099704 Clean up SkImageFilter.
Rename more occurences of 'target' to 'kernelOffset'.
This is a follow-up patch to
https://codereview.chromium.org/182983003/

BUG=skia:2187
R=senorblanco@chromium.org

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/197013003

git-svn-id: http://skia.googlecode.com/svn/trunk@13768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 16:36:08 +00:00
commit-bot@chromium.org
79fbb40bca [WIP] Add Context to SkDrawLooper.
SkDrawLooper carries some state during draws. This CL extracts this state into
a separate class Context, which is then passed by the users of SkDrawLooper
into the appropriate methods.
This is a step towards making SkDrawLooper immutable.

BUG=skia:2141
R=scroggo@google.com, reed@google.com, sugoi@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/155513012

git-svn-id: http://skia.googlecode.com/svn/trunk@13760 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 09:42:01 +00:00
senorblanco@chromium.org
06342a2666 Fix SkOffsetImageFilter to use a temporary for bounds computations.
SkOffsetImageFilter::onFilterBounds() was writing to *dst, and later
referring to src. These may be the same memory location, so the results
were incorrect.

Covered by the 5th test case in offsetimagefilter.

BUG=skia:

Review URL: https://codereview.chromium.org/195163004

git-svn-id: http://skia.googlecode.com/svn/trunk@13744 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 18:29:42 +00:00
commit-bot@chromium.org
821397018f plumbing for GPU fast blur
BUG=skia:2281
R=bsalomon@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/193193002

git-svn-id: http://skia.googlecode.com/svn/trunk@13735 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 22:53:20 +00:00
commit-bot@chromium.org
a477154cfc plumb API for analytic rrect blur
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
2014-03-10 21:42:06 +00:00
commit-bot@chromium.org
8f58b85bfb remove legacy ifdef wrapping fast blur
BUG=skia:
R=robertphillips@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/192833002

git-svn-id: http://skia.googlecode.com/svn/trunk@13722 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 16:05:57 +00:00
commit-bot@chromium.org
cac5fd597f Factory methods for heap-allocated SkImageFilter objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkImageFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.

BUG=skia:2187
R=scroggo@google.com, mtklein@chromium.org, reed@google.com, senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com, sugoi@chromium.org, zork@chromium.org

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/182983003

git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 10:51:58 +00:00
commit-bot@chromium.org
7fc2228795 Fix underlying issue causing crbug.com/348821.
SkDashPathEffect refuses to flatten itself if it thinks it's a no-op.  This
messes with the assumption that flattening a non-NULL effect and then
unflattening from those bytes produces a non-NULL effect.  I'd rather make that
assumption always be true than save a few bytes for rare nonsense path effects.

BUG=348821
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/189643002

git-svn-id: http://skia.googlecode.com/svn/trunk@13701 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 14:43:00 +00:00
commit-bot@chromium.org
fd5c9a6e04 Begin making SkPerlinNoiseShader const.
The overall goal is to make SkShader itself immutable (BUG=skia:1976).
The fields cannot yet be made constant, due to the constructor which
takes an SkReadBuffer. Other than that constructor, the fields are now
unchanged.

Remove setTileSize and initPaint. Merge initPaint with the constructor
of PaintingData, since it is only ever used on a new PaintingData.
Merge setTileSize with the SkPerlinNoiseShader constructor, its only
call site.

BUG=skia:1976
R=reed@google.com, sugoi@google.com, dominikg@chromium.org, senorblanco@google.com, senorblanco@chromium.org

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/169973002

git-svn-id: http://skia.googlecode.com/svn/trunk@13682 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 15:13:53 +00:00
senorblanco@chromium.org
e09244d463 Apply the CTM to the offset in the slow SkOffsetImageFilter path.
This was being done in the fast path, but not the slow path.

Since I had to rebaseline the offsetimagefilter GM anyway (to accomodate
the new test case), I added a red border around the intersection
of the (transformed) crop rect and clip rect in each sample, beyond
which no pixels should be drawn.

Chrome bug: https://code.google.com/p/chromium/issues/detail?id=346362

BUG=skia:
R=sugoi@google.com

Review URL: https://codereview.chromium.org/186643003

git-svn-id: http://skia.googlecode.com/svn/trunk@13656 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-04 19:05:25 +00:00
senorblanco@chromium.org
6aa6fec0e3 Cleanup patch to move all of SkImageFilterUtils into SkImageFilter.
This was a utility class that dates from before GPU code was allowed
in core. Now that it is, there's no reason not to have this
functionality in SkImageFilter.

Covered by existing tests.

R=reed@google.com

Review URL: https://codereview.chromium.org/185973003

git-svn-id: http://skia.googlecode.com/svn/trunk@13646 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 22:13:56 +00:00
senorblanco@chromium.org
47d98c8e85 Fix CTM scaling and clipping of SkRectShaderImageFilter.
Pass the CTM as part of the local matrix passed by
SkRectShaderImageFilter. Teach SkPerlinNoiseShader to respect the local
matrix. Embiggen imagefiltersscaled GM size to accommodate the new test
cases.

Note: will require rebaselines of imagefiltersscaled and imagefiltersclipped

R=sugoi@chromium.org
BUG=skia:

Review URL: https://codereview.chromium.org/184973007

git-svn-id: http://skia.googlecode.com/svn/trunk@13637 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 14:58:09 +00:00
reed@google.com
842292f10f remove SK_SUPPORT_LEGACY_LAYERDRAWLOOPER_PAINTFLAGS -- not needed
BUG=skia:
R=scroggo@google.com

Review URL: https://codereview.chromium.org/180483004

git-svn-id: http://skia.googlecode.com/svn/trunk@13623 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 15:38:22 +00:00
reed@google.com
48f31bdbb3 try to deprecate fFlagsMask from SkLayerDrawLooper
We think we want to move around how flags/fields like linearText and strikeThru
are specified. SkPaint has helpers for nearly all of these, but LayerInfo in
the draw looper just exposes the raw bitfield.

On survey of chrome/android, it appears that no one uses those, so it may be
safe to just remove the feature entirely from the looper.

R=bungeman@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/181433009

git-svn-id: http://skia.googlecode.com/svn/trunk@13607 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 14:27:44 +00:00
commit-bot@chromium.org
f792a1b207 Builder class for SkLayerRasterizer.
Provide builder class to make SkLayerRasterizer immutable. We have to keep the
addLayer() methods for now because they are used in Chrome. They will be removed
once this changed has been rolled into Chrome.
An added benefit of this is that this class can only be allocated on the heap.

BUG=skia:2187
R=reed@google.com, scroggo@google.com, mtklein@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/176873004

git-svn-id: http://skia.googlecode.com/svn/trunk@13590 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 13:27:37 +00:00
commit-bot@chromium.org
8a2ad3cae7 add new copyTo version to SkBitmap, which takes SkColorType
BUG=skia:
R=scroggo@google.com, halcanary@google.com, bsalomon@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/171723007

git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-23 03:59:35 +00:00
commit-bot@chromium.org
727a352f74 Factory methods for heap-allocated SkColorFilter objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkColorFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.

BUG=skia:2187
R=scroggo@google.com, mtklein@google.com, reed@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/175293002

git-svn-id: http://skia.googlecode.com/svn/trunk@13539 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:46:30 +00:00
commit-bot@chromium.org
7c9d0f3104 Factory methods for heap-allocated SkMaskFilter objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkMaskFilter and its subclasses non-public
and instead provides factory methods for  creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.

BUG=skia:2187
R=scroggo@google.com, mtklein@google.com, reed@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/173633003

git-svn-id: http://skia.googlecode.com/svn/trunk@13527 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 10:13:32 +00:00
commit-bot@chromium.org
0a2bf90dcc Factory methods for heap-allocated SkPathEffect and SkXfermode objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkPathEffect, SkXfermode and
their subclasses non-public and instead provides factory methods for
creating these objects on the heap. We temporarily keep the constructors
of the following classes public to not break Chrome/Blink:

SkXfermode
SkCornerPathEffect
SkDashPathEffect

BUG=skia:2187
R=scroggo@google.com, reed@google.com, mtklein@google.com, bungeman@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/166583002

git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 20:40:19 +00:00
senorblanco@chromium.org
897b73f62c Fix CTM application in SkResizeImagefilter; implement bounds traversals.
SkResizeImageFilter resizes all the pixels from its input (subject to
the input's crop rect), but the offset to be applied was incorrect.
It should take the CTM into account, so that the origin of the resize is
the world space origin, unaffected by whatever clipping is applied.

New GM imageresizetiled exercises the behaviour under
impl-side-painting-like conditions, and existing GMs now have resize
cases added.

R=reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/168283006

git-svn-id: http://skia.googlecode.com/svn/trunk@13506 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 22:10:12 +00:00
senorblanco@chromium.org
5a6abaa1c9 Revert "First draft of computeFastBounds() and onFilterBounds() for SkResizeImageFilter.", aka r13504 (this was an erroneous commit).
BUG=skia:
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/172793005

git-svn-id: http://skia.googlecode.com/svn/trunk@13505 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 22:08:36 +00:00
senorblanco@chromium.org
e07c3097d0 First draft of computeFastBounds() and onFilterBounds() for SkResizeImageFilter.
git-svn-id: http://skia.googlecode.com/svn/trunk@13504 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 22:06:20 +00:00
commit-bot@chromium.org
dac522589e replace SkBitmap::Config with SkColorType in gms
add helper installMaskPixels() to SkBitmap

BUG=skia:
R=halcanary@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/169913003

git-svn-id: http://skia.googlecode.com/svn/trunk@13482 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-17 21:21:46 +00:00
commit-bot@chromium.org
0abc8928cd Remove unnecessary includes.
R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/163893002

git-svn-id: http://skia.googlecode.com/svn/trunk@13474 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-17 14:20:43 +00:00
commit-bot@chromium.org
e24ad23ae6 use SkColorType instead of SkBitmap::Config in views/effects
R=scroggo@google.com, reed@google.com
TBR=scroggo

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/168843002

git-svn-id: http://skia.googlecode.com/svn/trunk@13469 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 22:03:38 +00:00
commit-bot@chromium.org
dcfaa73e68 Allowing Lanczos3 to be used in chromium
BUG=skia:
R=senorblanco@google.com, reed@google.com, humper@google.com, senorblanco@chromium.org, robertphillips@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/163663002

git-svn-id: http://skia.googlecode.com/svn/trunk@13459 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-14 18:46:08 +00:00
commit-bot@chromium.org
54318d3430 Bug Fix for Intel atan on gpu sweep gradient
BUG=skia:2164
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/152233006

git-svn-id: http://skia.googlecode.com/svn/trunk@13456 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-14 17:27:04 +00:00
commit-bot@chromium.org
74ba2f62dc Builder class for SkLayerDrawLooper.
SkLayerDrawLooper provides methods like addLayer() to build up a linked list
of layers. Working towards making this class immutable, this patch introduces
the SkLayerDrawLooperBuilder class which is used to accumulate all the layers
first. Once all layers are in place, it creates a new SkLayerDrawLooper object
and hands over the list of layers to that object.

For now we keep the addLayer methods in SkLayerDrawLooper so we don't break
Chrome and Blink when this is landed. Once we've updated all users, we can
remove the methods.

BUG=skia:2141
R=reed@google.com, scroggo@google.com, mtklein@google.com, reed@chromium.org

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/133813005

git-svn-id: http://skia.googlecode.com/svn/trunk@13448 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-14 10:06:42 +00:00
reed@google.com
20c4ebe9bf remove legacy LightingColorFilter impl
TBR:djsollen

Review URL: https://codereview.chromium.org/151353005

git-svn-id: http://skia.googlecode.com/svn/trunk@13362 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 16:02:41 +00:00
commit-bot@chromium.org
5e0995e4b3 Revert of Revert "Serialization of SkPictureImageFilter" (https://codereview.chromium.org/153583007/)
Reason for revert:
New SKPs with version20 are in Google Storage due to http://108.170.219.160:10117/builders/Housekeeper-Nightly-RecreateSKPs/builds/22

Original issue's description:
> Revert "Serialization of SkPictureImageFilter"
>
> This reverts commit 227321b30106e57942929eb96fa5bc22544f6c9e.
>
> Revert "Sanitizing source files in Housekeeper-Nightly"
>
> This reverts commit baf28584b7636c01355f8d8d972e06aa7fb66d77.
>
> TBR=robertphillips@google.com,sugoi@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13356

R=robertphillips@google.com, sugoi@google.com, fmalita@google.com, fmalita@chromium.org
TBR=fmalita@chromium.org, fmalita@google.com, robertphillips@google.com, sugoi@google.com
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/143163005

git-svn-id: http://skia.googlecode.com/svn/trunk@13357 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 12:20:04 +00:00
fmalita@google.com
7713c38dc0 Revert "Serialization of SkPictureImageFilter"
This reverts commit 227321b30106e57942929eb96fa5bc22544f6c9e.

Revert "Sanitizing source files in Housekeeper-Nightly"

This reverts commit baf28584b7636c01355f8d8d972e06aa7fb66d77.

TBR=robertphillips@google.com,sugoi@google.com

Review URL: https://codereview.chromium.org/153583007

git-svn-id: http://skia.googlecode.com/svn/trunk@13356 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 05:55:39 +00:00
commit-bot@chromium.org
4f6318d2e6 Serialization of SkPictureImageFilter
BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=13347

R=senorblanco@google.com, reed@google.com, mtklein@google.com, sugoi@google.com, senorblanco@chromium.org, robertphillips@google.com, scroggo@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/138063005

git-svn-id: http://skia.googlecode.com/svn/trunk@13354 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 02:09:50 +00:00
reed@google.com
31b3044af4 replace impl of SkLightingColorFilter with SkColorMatrixFilter
BUG=skia:
R=djsollen@google.com

Review URL: https://codereview.chromium.org/135123008

git-svn-id: http://skia.googlecode.com/svn/trunk@13350 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 20:59:47 +00:00
robertphillips@google.com
8b4799a98b Revert of r13347 (Serialization of SkPictureImageFilter - https://codereview.chromium.org/138063005) due to bump in skp file format
git-svn-id: http://skia.googlecode.com/svn/trunk@13348 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 18:47:25 +00:00
commit-bot@chromium.org
670b98ea5d Serialization of SkPictureImageFilter
BUG=skia:
R=senorblanco@google.com, reed@google.com, mtklein@google.com, sugoi@google.com, senorblanco@chromium.org, robertphillips@google.com, scroggo@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/138063005

git-svn-id: http://skia.googlecode.com/svn/trunk@13347 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 18:06:14 +00:00
commit-bot@chromium.org
ae761f7545 Make SkImageFilter methods const.
SkImageFilter had some non-const methods that could all be made const.
This is a first step towards making SkImageFilter immutable.

BUG=skia:2097
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/148883011

git-svn-id: http://skia.googlecode.com/svn/trunk@13330 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 22:32:02 +00:00
senorblanco@chromium.org
c4b12f19a4 Implement correct clipping for image filters.
Image filters in Skia currently clip the size of the the offscreen
bitmap used for filtering to the device clip bounds. This means that
any pixel-moving filter (e.g., blur) has edge artifacts at the clip
boundaries. This is problematic for tiling, where a single SkPicture
is played back with a clip set to the tile boundaries.

By implementing the onFilterBounds() traversal, and using it in
saveLayer() when a filter is present, we can clip the layer to the
expanded clip rect. Note that this requires that the traversal be
performed in reverse as compared to computeFastBounds().  (It's also
done in device space, unlike computeFastBounds()).

New test imagefiltersclipped tests pixel-moving filters when clipped
by various clip rects.
New test imageblurtiled tests tiled (compositor-style) rendering of
blurred text. There should be no artifacts at the tile boundaries.

BUG=337831
R=reed@google.com

Review URL: https://codereview.chromium.org/23011012

git-svn-id: http://skia.googlecode.com/svn/trunk@13323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 17:51:22 +00:00
senorblanco@chromium.org
aba651c3f1 Fix image filter crop offsets for GPU path.
This is the GPU-side version of
https://codereview.chromium.org/112803004/.
Also factored the crop offset unit test into a function, so we can
call it with both CPU & GPU devices.

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/153113003

git-svn-id: http://skia.googlecode.com/svn/trunk@13292 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 22:22:16 +00:00
skia.committer@gmail.com
ba12448568 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13274 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-01 03:01:57 +00:00
commit-bot@chromium.org
85b45af26f Set the horizontal scanline to NULL when the vertical one fails
BUG=skia:
R=robertphillips@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/150013004

git-svn-id: http://skia.googlecode.com/svn/trunk@13261 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 14:47:57 +00:00
commit-bot@chromium.org
a29105ad10 release the scanline textures in GrRectBlurEffect
BUG=skia:
R=robertphillips@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/131163007

git-svn-id: http://skia.googlecode.com/svn/trunk@13260 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 14:00:58 +00:00
skia.committer@gmail.com
4c18e9fbb6 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 03:01:59 +00:00