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
djsollen
c87dd2ce96
Enable unused param checking for public includes.
...
This CL cleans up the existing violations and enables the
build time check to ensure that we don't regress.
The motiviation behind this change is to allow clients who include
our headers to be able to build with this warning enabled.
Review URL: https://codereview.chromium.org/726923002
2014-11-14 11:11:46 -08: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
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
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
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
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
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
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
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
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
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
reed
3f8540346d
hide public factory for intermediate class
...
Use SK_DECLARE_UNFLATTENABLE_OBJECT if the subclass should not be directly instantiated.
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/399383007
2014-07-21 07:31:53 -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
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
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
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
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
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
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
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
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
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
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
skia.committer@gmail.com
7693dbf46e
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14862 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 03:03:34 +00:00
commit-bot@chromium.org
39123f4c0b
temporarily add back in the factores that took a unitmapper
...
BUG=skia:
R=fmalita@google.com , fmalita@chromium.org , reed@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/292513006
git-svn-id: http://skia.googlecode.com/svn/trunk@14859 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 22:35:24 +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
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
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
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
7b1715215a
gradient api sans (deprecated) unitmapper
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/293643004
git-svn-id: http://skia.googlecode.com/svn/trunk@14781 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 15:46:09 +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
bd0be25074
Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag.
...
Neither Chrome nor Android uses this flag anymore.
Make sure all constructors touched that only have one parameter are marked as 'explicit'.
BUG=2187
R=scroggo@google.com , reed@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/282203004
git-svn-id: http://skia.googlecode.com/svn/trunk@14749 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 15:40:41 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
skia.committer@gmail.com
c282ba85ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14021 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 03:05:59 +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
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
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
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
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
robertphillips@google.com
53ba425c91
Drop executable flag from headers so that they can be packaged
...
https://codereview.chromium.org/194883004/
git-svn-id: http://skia.googlecode.com/svn/trunk@13746 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 19:55:51 +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
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
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
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
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
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
skia.committer@gmail.com
c5acc6c827
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13355 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 03:02:05 +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
commit-bot@chromium.org
8b0e8ac5f5
Refactor read and write buffers.
...
Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.
What used to be this:
SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer -> SkOrderedReadBuffer
SkFlattenableReadBuffer -> SkValidatingReadBuffer
is now
SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer
Benefits:
- code is simpler, names are less wordy
- the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
- write buffers are completely devirtualized, important for record speed
This refactoring was mostly mechanical. You aren't going to find anything
interesting in files with less than 10 lines changed.
BUG=skia:
R=reed@google.com , scroggo@google.com , djsollen@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/134163010
git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:58:24 +00:00
senorblanco@chromium.org
336d1d7595
Implement a computeFastBounds() traversal for SkImageFilter.
...
This allows for correct culling of primitives which have image filters applied.
R=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/137423005
git-svn-id: http://skia.googlecode.com/svn/trunk@13207 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 21:03:17 +00:00
reed@google.com
1a5e51f94e
remove SkScalarMul from public headers
...
BUG=skia:
Review URL: https://codereview.chromium.org/132453008
git-svn-id: http://skia.googlecode.com/svn/trunk@13189 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 13:41:02 +00:00
senorblanco@chromium.org
0ded88d431
[Reland of r13154, since the Housekeeping bot seems to have reverted it in r13155. Next time I'll put the "do not disturb" sign on my commit.]
...
Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.
Correctness and performance covered by existing tests; no change in functionality.
R=bsalomon@google.com , djsollen@google.com , reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=13154
BUG=skia:
Review URL: https://codereview.chromium.org/135013004
git-svn-id: http://skia.googlecode.com/svn/trunk@13168 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 15:43:50 +00:00
skia.committer@gmail.com
1878a44c74
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13155 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:48:56 +00:00
senorblanco@chromium.org
76d4d04b18
Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.
...
Correctness and performance covered by existing tests; no change in functionality.
R=bsalomon@google.com , djsollen@google.com , reed@google.com
Review URL: https://codereview.chromium.org/135013004
git-svn-id: http://skia.googlecode.com/svn/trunk@13154 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:45:23 +00:00
senorblanco@chromium.org
a612d4c513
Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
...
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=13077
Reverted: https://code.google.com/p/skia/source/detail?r=13078
BUG=
Review URL: https://codereview.chromium.org/136863006
git-svn-id: http://skia.googlecode.com/svn/trunk@13082 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 04:49:18 +00:00
senorblanco@chromium.org
96673a918d
Revert "Implement a resize image filter."
...
This reverts commit 3f996e31c7043929fc1553b9b5ecd6a82b5fe125 (r13077).
TBR=reed
Review URL: https://codereview.chromium.org/136793012
git-svn-id: http://skia.googlecode.com/svn/trunk@13078 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:55:04 +00:00
senorblanco@chromium.org
535e1ccbd0
Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
...
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.
R=reed@google.com
Review URL: https://codereview.chromium.org/136863006
git-svn-id: http://skia.googlecode.com/svn/trunk@13077 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:20:48 +00:00
commit-bot@chromium.org
40eb3c1000
Add AlphaThreshold filter.
...
This is based on the Bitmap Alpha Threshold filter, and will be used by Chromium
to implement the window shape API.
R=bsalomon@chromium.org , wez@chromium.org , bsalomon@google.com , reed@google.com
Author: zork@chromium.org
Review URL: https://codereview.chromium.org/115633002
git-svn-id: http://skia.googlecode.com/svn/trunk@12935 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 23:41:14 +00:00