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
commit-bot@chromium.org
cc787fa802
fix auto-delete bug that crept in with new fast blur path; is causing
...
some of the valgrind errors.
BUG=skia:2111
R=bsalomon@google.com , robertphillips@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/148593003
git-svn-id: http://skia.googlecode.com/svn/trunk@13257 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 01:00:49 +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
commit-bot@chromium.org
cf34bc0634
patch from issue 119343003
...
compile on 10.6, exclude failing gms
Sorry for making another CL; rebasing ToT on the old one ended up with code in a tangled mess; was easier to start over.
NOTRY=true
R=bsalomon@google.com , epoger@google.com , reed@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/148883005
git-svn-id: http://skia.googlecode.com/svn/trunk@13238 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 15:34:43 +00:00
senorblanco@chromium.org
74bdde0d50
Clamp negative sigma to 0 in SkDropShadowImageFilter.
...
This can occur when the matrix includes a perspective transform.
BUG=skia:2094
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/137833004
git-svn-id: http://skia.googlecode.com/svn/trunk@13220 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 17:57:26 +00:00
skia.committer@gmail.com
410be67975
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13214 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 07:01:53 +00:00
commit-bot@chromium.org
dcfa9ff57c
Revert of Fast blurred rectangles on GPU ( https://codereview.chromium.org/119343003/ )
...
Reason for revert:
Two problems:
1. broke compile on Build-Mac10.6-* bots
2. broke GM expectations on many bots
We'll need to examine the GM impact before re-landing. I can work with you to do this on Tuesday if you like; just IM or email me.
Original issue's description:
> Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
>
> BUG=
>
> Committed: http://code.google.com/p/skia/source/detail?r=13210
R=bsalomon@google.com , reed@google.com , humper@google.com , rmistry@google.com
TBR=bsalomon@google.com , humper@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=
Author: epoger@google.com
Review URL: https://codereview.chromium.org/140853008
git-svn-id: http://skia.googlecode.com/svn/trunk@13213 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 01:55:24 +00:00
commit-bot@chromium.org
d1829151a5
Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
...
BUG=
R=bsalomon@google.com , reed@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/119343003
git-svn-id: http://skia.googlecode.com/svn/trunk@13210 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 22:41:45 +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
9ebcac5463
add installPixels
...
BUG=skia:
R=halcanary@google.com
Review URL: https://codereview.chromium.org/143073008
git-svn-id: http://skia.googlecode.com/svn/trunk@13174 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:53:42 +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
commit-bot@chromium.org
fed2ab6483
No deduping dictionaries for matrices and regions.
...
There's little benefit to deduping matrices and regions: they're infrequently
used, and doubly infrequently reused. Their use-weighted byte cost is tiny.
There is some downside to deduping matrices and regions. Even when they're not
used, we prepare dictionaries for deduping them for every picture. Each of
these dictionaries costs 160 bytes, so two unused dictionaries make a big chunk
of the ~1100 bytes it takes to allocate an SkPictureRecord. (~330 come from
parent class SkCanvas, 768 from SkPictureRecord itself, here reduced to 448).
One side benefit of not deduping these guys is that the change weighs -140 lines of code.
It may go without saying, but this breaks the picture format.
Testing: out/Debug/tests && out/Debug/dm (which runs all picture modes by default)
BUG=skia:1850
R=reed@google.com , bensong@google.com , robertphillips@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/143883006
git-svn-id: http://skia.googlecode.com/svn/trunk@13149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 15:16:05 +00:00
senorblanco@chromium.org
2bfe36b68d
Apply the CTM to filter parameters for SkBlurImageFilter, SkDropShadowImageFilter, SkDisplacementMapEffect and SkMorphologyImageFilter. I had resisted this (and may later put in an assert that the CTM contains no rotation, skew or perspective), but it just makes the filters play better with Skia generally.
...
This revealed that the displacement map was not handling clipping or upstream cropping at all well (the color would "swim" through the displacement at the edge of the clip rect). Fixed by passing through the correct offsets to the bitmap accesses in both raster and GPU paths. Same for morphology.
R=sugoi@google.com
Review URL: https://codereview.chromium.org/137053003
git-svn-id: http://skia.googlecode.com/svn/trunk@13127 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-20 19:58:28 +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
e13af711d4
Revert of https://codereview.chromium.org/132643007/
...
Reason for revert: broken tests
TBR=
NOTREECHECKS=true
NOTRY=true
BUG=
Author: reed@google.com
Review URL: https://codereview.chromium.org/134843008
git-svn-id: http://skia.googlecode.com/svn/trunk@13058 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:39:14 +00:00
reed@google.com
f0b56e7448
Revert "Revert of https://codereview.chromium.org/129423002/ "
...
fixed new api references in unit tests
This reverts commit ffc0058e1fbcbd69617e1f41b2dce5b5765ff99e.
BUG=
Review URL: https://codereview.chromium.org/132643007
git-svn-id: http://skia.googlecode.com/svn/trunk@13057 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:28:50 +00:00
commit-bot@chromium.org
9b06ba4c91
Revert of https://codereview.chromium.org/129423002/
...
Reason for revert: broke tests (compile)
R=scroggo@google.com , halcanary@google.com
TBR=halcanary@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=
Author: reed@google.com
Review URL: https://codereview.chromium.org/137133003
git-svn-id: http://skia.googlecode.com/svn/trunk@13056 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:23:48 +00:00
reed@google.com
dd9ea9262c
add SkBitmap::installPixelRef()
...
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/129423002
git-svn-id: http://skia.googlecode.com/svn/trunk@13055 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:17:58 +00:00
commit-bot@chromium.org
439ff1b9ca
Use correct matrix to adjust blur radius for gpu
...
BUG=skia:1998
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/134973002
git-svn-id: http://skia.googlecode.com/svn/trunk@13047 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 16:39:39 +00:00
senorblanco@chromium.org
857e320300
Use truncation, not rounding, when converting perlin noise seed (required by SVG spec).
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/132053002
git-svn-id: http://skia.googlecode.com/svn/trunk@12995 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 17:41:42 +00:00
commit-bot@chromium.org
41bf930039
Rename GPU functions on SkBlurMaskFilter and pass ctm.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/109823012
git-svn-id: http://skia.googlecode.com/svn/trunk@12978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 22:25:53 +00:00
commit-bot@chromium.org
9109e188c7
Fix build warnings in SkAlphaThresholdFilter
...
BUG=None
R=bsalomon@google.com
Author: zork@chromium.org
Review URL: https://codereview.chromium.org/101763010
git-svn-id: http://skia.googlecode.com/svn/trunk@12937 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 16:04:01 +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
mike@reedtribe.org
9fb00413ec
SK_SUPPORTED_DEPRECATED_FIXEDROUND around deprecated fixed[round,ceil,floor]
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12903 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 03:02:37 +00:00
senorblanco@chromium.org
6776b82d46
Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway.
...
To do this, this patch changes the "offset/loc" parameter in filterImage() / onFilterImage() from an inout-param to an out-param only, so that the calling filter can know how much the input filter wants its result offset (and doesn't include the original primitive position). This offset can then be applied to the current filter's crop rect. (I've renamed the parameter "offset" in all cases to make this clear.) This makes the call sites in SkCanvas/SkGpuDevice responsible for applying the resulting offset to the primitive's position, which is actually a fairly small change.
This change also fixes SkTileImageFilter and SkOffsetImageFilter to correctly handle an input offset, which they weren't before. This required modifying the GM's, since they assumed the broken behaviour.
NOTE: this will require rebaselining the imagefiltersgraph test, since it has a new test case.
NOTE: this will "break" the Blink layout tests css3/filters/effect-reference-subregion-chained-hw.html and css3/filters/effect-reference-subregion-hw.html, but it actually makes them give correct results. It should be suppressed on the skia roll, and I'll rebaseline it.
R=reed@google.com
Review URL: https://codereview.chromium.org/112803004
git-svn-id: http://skia.googlecode.com/svn/trunk@12895 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 21:48:22 +00:00
commit-bot@chromium.org
6d7296aaa0
Accept displacement with no displacement input
...
BUG=
R=senorblanco@google.com , senorblanco@chromium.org , sugoi@google.com , bsalomon@google.com , bsalomon@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/104853005
git-svn-id: http://skia.googlecode.com/svn/trunk@12773 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 17:00:46 +00:00
reed@google.com
4ec5c95bc5
fix win build
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 15:00:18 +00:00
reed@google.com
1915fd09f3
remove unused SkFixed and SkFract functions
...
BUG=
R=caryclark@google.com
Review URL: https://codereview.chromium.org/113873008
git-svn-id: http://skia.googlecode.com/svn/trunk@12767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 14:22:03 +00:00
commit-bot@chromium.org
9cfa287bc7
Remove SkBitmapAlphaThresholdShader
...
R=bsalomon@google.com
Author: zork@chromium.org
Review URL: https://codereview.chromium.org/108653012
git-svn-id: http://skia.googlecode.com/svn/trunk@12759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:58:53 +00:00
reed@google.com
8015cdd8fa
replace SkScalarMulRound(a,b) with SkScalarRountToInt(a*b)
...
BUG=
R=sugoi@google.com
Review URL: https://codereview.chromium.org/111393010
git-svn-id: http://skia.googlecode.com/svn/trunk@12740 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 15:49:32 +00:00
commit-bot@chromium.org
658e1b38b9
Fixing valgrind error
...
After an error in the stream prevented the deserialization of SkRect members, there was no check to see if there was an error state before testing the validity of these uninitialized SkRect members. Added the check to fix the valgrind error.
BUG=
R=robertphillips@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/114493005
git-svn-id: http://skia.googlecode.com/svn/trunk@12727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 21:32:42 +00:00
commit-bot@chromium.org
ef74fa189b
Fixed more fuzzer issues
...
- Added the "isAvailable" function to check how much bytes are remaining in the stream before doing potentially large mallocs. That way, we can signal a bad stream instead of crashing.
- Added data validation in SkImageInfo.cpp
- Added NULL pointer check in displacement
- Modified the fuzzer for randomized bitmap types
BUG=328934,329254
R=senorblanco@google.com , senorblanco@chromium.org , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/116773002
git-svn-id: http://skia.googlecode.com/svn/trunk@12723 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 20:49:46 +00:00
reed@google.com
e1ca705cac
deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/111353003
git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:22:07 +00:00
reed@google.com
8f4d2306fa
remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
...
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.
BUG=
R=bsalomon@google.com , caryclark@google.com
Review URL: https://codereview.chromium.org/117053002
git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
reed@google.com
bf790232f6
Update all callsites to use info for pixelrefs
...
#define SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR in chrome to keep old API signature (for now)
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/100723005
git-svn-id: http://skia.googlecode.com/svn/trunk@12677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 19:45:58 +00:00
robertphillips@google.com
0daa1adb03
Reverting r12665 & r12666 (Remove duplicate impl for SkImageInfo flattening) due to Chromium/Blink compilation errors
...
https://codereview.chromium.org/112603003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 15:24:37 +00:00
reed@google.com
93b40594b7
Remvoe duplicate impl for SkImageInfo flattening
...
Add onNewLockPixels
This reverts commit bb8eff6a70c52b7644391cfd4f4d21bf7294a6bf.
BUG=
Review URL: https://codereview.chromium.org/111323005
git-svn-id: http://skia.googlecode.com/svn/trunk@12665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 14:18:14 +00:00
senorblanco@chromium.org
533330065a
Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/114263002
git-svn-id: http://skia.googlecode.com/svn/trunk@12661 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 23:28:52 +00:00
senorblanco@chromium.org
9c5435de44
Revert "Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect."
...
This reverts commit a620349a24471546ad2e8f0679774c1f5b4de0a4 (r12656).
git-svn-id: http://skia.googlecode.com/svn/trunk@12657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:23:32 +00:00
senorblanco@chromium.org
14e21270f5
Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/114263002
git-svn-id: http://skia.googlecode.com/svn/trunk@12656 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:00:34 +00:00
commit-bot@chromium.org
5e79c2b707
Fixed a displacement issue
...
The displacement filter was assuming that both inputs were of the same size, which is true in blink, but not necessarily in a compromised stream.
BUG=327372
R=senorblanco@chromium.org , senorblanco@google.com , reed@google.com , fmalita@chromium.org , fmalita@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/101623007
git-svn-id: http://skia.googlecode.com/svn/trunk@12655 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 21:48:32 +00:00
senorblanco@chromium.org
0682019f21
Bounds fixes for SkXfermodeImageFilter:
...
1) Change the default bounds to the union of the foreground and background bounds.
2) Use a canvas translate instead of manually offsetting the foreground and background bounds by the union.
3) Apply the transfer mode to all pixels, including those outside the foreground rect by using a difference clip.
Covered by the offset test cases in the xfermodeimagefilter GM (will need rebaselines).
R=reed@google.com
Review URL: https://codereview.chromium.org/112683004
git-svn-id: http://skia.googlecode.com/svn/trunk@12652 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 21:00:58 +00:00
reed@google.com
398337b3a5
Revert "remvoe duplicate impl for SkImageInfo flattening"
...
Reason: breaks chrome_mac_tests which still have non-imageinfo constructors
This reverts commit a06b8cf60b39bda93e9ef1a73579007b2b930d29.
BUG=
Review URL: https://codereview.chromium.org/103033005
git-svn-id: http://skia.googlecode.com/svn/trunk@12631 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:22:39 +00:00
reed@google.com
a0d183d891
Revert "Revert of https://codereview.chromium.org/108773003/ "
...
This reverts commit 947e6a3142af66b750f1247ef933b11ed8455dd4.
BUG=
Review URL: https://codereview.chromium.org/112963003
git-svn-id: http://skia.googlecode.com/svn/trunk@12630 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:15:58 +00:00
commit-bot@chromium.org
ff9c6c92e5
Revert of https://codereview.chromium.org/108773003/
...
Reason for revert: breaks chrome-mac-tests
TBR=
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/113193003
git-svn-id: http://skia.googlecode.com/svn/trunk@12629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 20:55:41 +00:00
reed@google.com
f3aead2829
remvoe duplicate impl for SkImageInfo flattening
...
Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""""
This reverts commit eabd6b2ed4e494b323c08f32358f45950a0368c3.
BUG=
Review URL: https://codereview.chromium.org/108773003
git-svn-id: http://skia.googlecode.com/svn/trunk@12624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:38:46 +00:00
reed@google.com
6a32add491
Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."""""
...
This reverts commit d08eca87a0bef10112a211de540f89656a80b86a.
BUG=
Review URL: https://codereview.chromium.org/108303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:19:10 +00:00
reed@google.com
6965a0a2df
PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""
...
BUG=
Review URL: https://codereview.chromium.org/110503003
git-svn-id: http://skia.googlecode.com/svn/trunk@12622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:04:56 +00:00
senorblanco@chromium.org
e93e1dbf0e
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed. It also implements CTM support for SkTileImageFilter.
NOTE: this will require rebaselining a number of imagefilter GMs on Nexus4, since they render in perspective (using the CTM). The changes to the results should all be improvements.
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 18:31:42 +00:00
commit-bot@chromium.org
907fbd53c5
Make texture domain a helper so that it can be incorporated into other effects.
...
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/98893006
git-svn-id: http://skia.googlecode.com/svn/trunk@12569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 17:03:02 +00:00
reed@google.com
2ebc10dd12
Revert "Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."""
...
This reverts commit 5f035e90d6dea0139a4f204b634e7b7b3b4976d7.
Reverting because it breaks chrome/blink due to new SkPixelRef constructor arg.
BUG=
Review URL: https://codereview.chromium.org/108993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 21:43:05 +00:00
reed@google.com
473f0aa2bb
Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""
...
This reverts commit 4174afb18a9746bbad2a06c0ec2d4ad35f72d790.
BUG=
Review URL: https://codereview.chromium.org/108723003
git-svn-id: http://skia.googlecode.com/svn/trunk@12547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:31:45 +00:00
commit-bot@chromium.org
c2e9db30d3
Fixed a few places where uninitialized memory could have been read
...
Also added early exit in SkImageFilter's constructor to avoid attempting to deserialize all inputs once a bad input has been found. This avoids hanging if a filter pretends to have 1 billion inputs when that's just an error on the number of inputs read by the filter.
BUG=326206,326197,326229
R=senorblanco@chromium.org , senorblanco@google.com , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/106943002
git-svn-id: http://skia.googlecode.com/svn/trunk@12544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:14:46 +00:00
reed@google.com
5b132b28da
Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."
...
This reverts commit 154e08b2f5904ef533da694e3510befcb9a3f3e2.
revert due to warnings
Review URL: https://codereview.chromium.org/108513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:51:08 +00:00
reed@google.com
3e89524e74
PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.
...
R=mtklein@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68973005
git-svn-id: http://skia.googlecode.com/svn/trunk@12537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:41:33 +00:00
robertphillips@google.com
40757703bd
Reverting 12528 & 12533 (Implement srcRect and dstRect functionality in SkBitmapSource) due to image differences on N4
...
https://codereview.chromium.org/108623002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12534 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 17:44:15 +00:00
commit-bot@chromium.org
094147d522
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed.
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 15:59:03 +00:00
senorblanco@chromium.org
899b22ab97
Revert "Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource"." until I can sort out the xfermodeimagefilter and tileimagefilter failures.
...
This reverts commit b26725c8c9755415284c34399e76be098868e01a, aka r12522.
BUG=
TBR=reed@google.com
Review URL: https://codereview.chromium.org/107093005
git-svn-id: http://skia.googlecode.com/svn/trunk@12523 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 23:06:07 +00:00
senorblanco@chromium.org
af35920e6d
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
Note: I initially implemented this as a fully-generic SkResizeImageFilter, but then I realized that the dstRect should always be transformed by the filter matrix, but that the srcRect should not (since it's specified relative to the dimensions of the original bitmap). Since this would be confusing for someone attempting to use this as a generic resizing filter, I decided to build the functionality into SkBitmapSource instead.
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12522 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 22:41:53 +00:00
commit-bot@chromium.org
ab1c13864d
Fix compilation with SK_ENABLE_INST_COUNT=1
...
Add INHERITED declarations to class declarations that prevent
compilation with the flag.
Remove SK_DEFINE_INST_COUNT from all class implementations. Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.
Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.
For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.
Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.
R=robertphillips@google.com , richardlin@chromium.org , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/98703002
git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:08:12 +00:00
commit-bot@chromium.org
c84728d72a
Changed maxInputCount for exact inputCount
...
Processing still had issue when the number of inputs was 0, so I changed my previous fix from a maximum input count to an exact input count. -1 is used when the input count isn't fixed (but still has to be a non-negative number).
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/100803004
git-svn-id: http://skia.googlecode.com/svn/trunk@12492 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 20:07:47 +00:00
commit-bot@chromium.org
cd3b15ca63
Fixed bad bitmap size crashes
...
There were 2 issues :
1 ) If the size of an SkBitmap's underlying SkPixelRef's alocated memory is too small to fit the bitmap, then the deserialization will now check this and set an error appropriately.
2 ) If a device fails to allocate its pixels, the device will be deleted and NULL will be returned to avoid attempting to draw on a bad device.
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , halcanary@google.com , mtklein@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/92793002
git-svn-id: http://skia.googlecode.com/svn/trunk@12484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:06:49 +00:00
robertphillips@google.com
11e055518a
Code cleanup following recapture of skps
...
https://codereview.chromium.org/88233003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:46:58 +00:00
rmistry@google.com
d6bab02386
Reverting r12427
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:50:38 +00:00
skia.committer@gmail.com
5b39f5ba9c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:36:22 +00:00
senorblanco@chromium.org
d8f82a4c44
Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor.
...
This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas.
Covered by new GM dropshadowimagefilter.
R=reed@google.com
Review URL: https://codereview.chromium.org/88243004
git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 21:52:38 +00:00
commit-bot@chromium.org
11f392ed53
Revert "Revert "remove kA1_Config, as it is no longer supported""
...
This reverts commit 36d712f2d4c5c79719280ad95523e6aaa88b068e.
BUG=
R=rmistry@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/86483002
git-svn-id: http://skia.googlecode.com/svn/trunk@12392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:51:57 +00:00
commit-bot@chromium.org
ce33d60187
Adding more validation
...
- Added a way to check that the number of inputs of a filter is not more than a filter expects
- Added validation of reftype in SkBitmap::unflatten()
- Added validation on fKD (diffuse lighting constant) and fKS (specular lighting constant) to make sure that they are always non-negative numbers
- Added validation of SkPerlinNoiseShader::fType and SkPerlinNoiseShader::fNumOctaves
BUG=
R=reed@google.com , senorblanco@google.com , mtklein@google.com , senorblanco@chromium.org , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/83343003
git-svn-id: http://skia.googlecode.com/svn/trunk@12388 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 21:46:31 +00:00
reed@google.com
72e7808d62
Revert "remove kA1_Config, as it is no longer supported"
...
This reverts commit 2d72d8b242eac6e9d30228f5b0a407236491c369.
git-svn-id: http://skia.googlecode.com/svn/trunk@12387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:54:56 +00:00
commit-bot@chromium.org
4b413c8bb1
remove SkFloatToScalar macro
...
BUG=
R=reed@google.com , djsollen@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/85463005
git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
reed@google.com
2a1f4464d1
remove kA1_Config, as it is no longer supported
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/83093005
git-svn-id: http://skia.googlecode.com/svn/trunk@12384 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 18:58:29 +00:00
mike@reedtribe.org
139a2359ab
fix general-pespective for conical gradient bug=1744
...
BUG=
R=edisonn@google.com
Review URL: https://codereview.chromium.org/71303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 20:15:51 +00:00
senorblanco@chromium.org
f14bcd25e5
Remove some now-unused #ifdefs.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/68473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12246 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:46:43 +00:00
senorblanco@chromium.org
05edd02a7c
Implement a speedup for Y-only blurs by transposing.
...
R=mtklein@google.com , mtklein, reed@google.com
BUG=
Review URL: https://codereview.chromium.org/66413007
git-svn-id: http://skia.googlecode.com/svn/trunk@12227 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:12:34 +00:00
robertphillips@google.com
ad99358bdd
Fix memory leak in filterRRectToNine
...
https://codereview.chromium.org/65723005/
git-svn-id: http://skia.googlecode.com/svn/trunk@12222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 18:45:18 +00:00
senorblanco@chromium.org
27eec46d69
SSE2 implementation of RGBA box blurs. This yields ~2X perf improvement on Xeon ES-2690.
...
R=mtklein@google.com
Review URL: https://codereview.chromium.org/61643011
git-svn-id: http://skia.googlecode.com/svn/trunk@12204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:49:04 +00:00
scroggo@google.com
a8e33a92e2
Add ability to ninepatch blurred rounded rectangle
...
Speed up drawing large blurry round rectangles by converting them to
nine patches.
SkDraw:
Add drawRRect.
SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.
SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.
Depends on https://codereview.chromium.org/52703003
Tests are in https://codereview.chromium.org/52793005
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/48623006
git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
robertphillips@google.com
96ac2f693b
Add GM to verify removal of 32767 limit in SkBlurMaskFilter::filterRectsToNine is okay
...
https://codereview.chromium.org/60513013/
git-svn-id: http://skia.googlecode.com/svn/trunk@12181 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:25:21 +00:00
commit-bot@chromium.org
d3baf20dd1
Added support for Chrome's gpu command buffer extension BindUniformLocation.
...
R=bsalomon@google.com , bsalomon
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/62163004
git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
senorblanco@chromium.org
0cc00c273d
Implement the y-transpose optimization in image (RGBA) blurs. This gives ~38% performance improvement on my Linux box. Also unify the box blur functions with a template.
...
R=mtklein@google.com , mtklein, reed@google.com
Review URL: https://codereview.chromium.org/59133006
git-svn-id: http://skia.googlecode.com/svn/trunk@12171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:35:12 +00:00
commit-bot@chromium.org
c2a0ea6418
Perlin issue fixed
...
BUG=skia:1799
R=sugoi@chromium.org , sugoi@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/59173005
git-svn-id: http://skia.googlecode.com/svn/trunk@12150 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:38 +00:00
commit-bot@chromium.org
a93f4e770f
Check that Mode is valid for ModeColorFilterEffect
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/53983005
git-svn-id: http://skia.googlecode.com/svn/trunk@12131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:47:48 +00:00
commit-bot@chromium.org
fedf13d73a
Add SK_PREFETCH and use in SkBlurImageFilter.
...
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4.
(Division remains the bottleneck, now more so.)
BUG=
R=senorblanco@google.com , reed@google.com , senorblanco@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/57823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:26 +00:00
senorblanco@chromium.org
fe2faa8b16
Change SkBlurImageFilter to use fixed-point division. Yields ~1.8X speedup on
...
MacBookPro.
Note: this will require defining SK_DISABLE_BLUR_DIVISION_OPTIMIZATION in
Chrome, a la https://codereview.chromium.org/49973005 .
R=mtklein@google.com
Review URL: https://codereview.chromium.org/57513002
git-svn-id: http://skia.googlecode.com/svn/trunk@12113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:07:33 +00:00
commit-bot@chromium.org
f2f8f3a43c
Adding a way to disable SkOffsetImageFilter's optimized path in blink/chrome
...
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/54543005
git-svn-id: http://skia.googlecode.com/svn/trunk@12075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 11:55:06 +00:00
robertphillips@google.com
56ce48ade3
Add can-ignore-rect hint to clear call
...
https://codereview.chromium.org/53823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 21:44:25 +00:00
commit-bot@chromium.org
0251288112
Adding size parameter to read array functions
...
In some cases, the allocated array into which the data will be read is using getArrayCount() to allocate itself, which should be safe, but some cases use fixed length arrays or compute the array size before reading, which could overflow if the stream is compromised.
To prevent that from happening, I added a check that will verify that the number of bytes to read will not exceed the capacity of the input buffer argument passed to all the read...Array() functions.
I chose to use the byte array for this initial version, so that "size" represents the same value across all read...Array() functions, but I could also use the element count, if it is preferred.
Note : readPointArray and writePointArray are unused, so I could also remove them
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/37803002
git-svn-id: http://skia.googlecode.com/svn/trunk@12058 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 18:37:50 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
senorblanco@chromium.org
7a47ad3bac
Implement SSE2-based implementations of the morphology filters (dilate & erode). This gives a 3-5X speedup over the naive implementation, and also mitigates a timing-based security attack in Chrome ( https://code.google.com/p/chromium/issues/detail?id=251711 ).
...
NOTE: this will require a corresponding GYP change on the Skia roll into Chrome: https://codereview.chromium.org/52453004/
R=mtklein@google.com , reed@google.com
Review URL: https://codereview.chromium.org/52603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12038 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 21:57:04 +00:00
skia.committer@gmail.com
b77f0f4ae5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 07:01:56 +00:00
robertphillips@google.com
0b7ab3bb49
Fix bug in erosion filtering
...
https://codereview.chromium.org/50813002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 13:59:31 +00:00
robertphillips@google.com
0255a5d2fe
Minor changes
...
https://codereview.chromium.org/39973004/
git-svn-id: http://skia.googlecode.com/svn/trunk@11940 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 14:03:01 +00:00
commit-bot@chromium.org
ccecbbb2ea
Always create an instance when testing GrEffects for SkXfermode and SkArithmeticMode
...
Previously the TestCreate methods of the effects would create a static
instance and return that for all invocations. This is probably a
copy-paste error going back to initial TestCreate method in r8449. At
that time, the effect was always the same and thus static usage made
sense.
R=bsalomon@google.com , senorblanco@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39393002
git-svn-id: http://skia.googlecode.com/svn/trunk@11939 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:33:32 +00:00
commit-bot@chromium.org
23267ceca2
Fix ModeColorFilterEffect assert during GLProgramsTest
...
Select random filter mode for the test-case until the mode is not
Dst. SkModeColorFilter with Dst mode will not create a
ModeColorFilterEffect, and thus the case is not implemented.
Also changes it so that each call to ModeColorFilterEffect::TestCreate
creates a new GrEffect. Previously only one static effect was ever
created, due to copy-paste error.
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/39403002
git-svn-id: http://skia.googlecode.com/svn/trunk@11938 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-24 13:29:38 +00:00
senorblanco@chromium.org
1a6382f5e7
Split up SkXfermode::asNewEffectOrCoeff() into asNewEffect(), asCoeff().
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/37593002
git-svn-id: http://skia.googlecode.com/svn/trunk@11926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:41:36 +00:00
commit-bot@chromium.org
d594dbec04
Follow up to serialization validation code
...
1 ) Added check for bool to make sure is it either 0 or 1 and not garbage
2 ) Added more solid kernel size checks in SkMatrixConvolutionImageFilter
3 ) Make sure array size is validated in SkMergeImageFilter
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23548034
git-svn-id: http://skia.googlecode.com/svn/trunk@11925 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 18:33:18 +00:00
commit-bot@chromium.org
c0b7e10c6a
Initial error handling code
...
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=11247
R=reed@google.com , scroggo@google.com , djsollen@google.com , sugoi@google.com , bsalomon@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11922 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 17:06:21 +00:00
commit-bot@chromium.org
a8aef8bf04
Lighting filter uses input on raster path
...
BUG=
R=senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/35703002
git-svn-id: http://skia.googlecode.com/svn/trunk@11918 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 15:33:44 +00:00
senorblanco@chromium.org
fbcd415aa0
Remove GrContext from SkXfermode::[Aa]sNewEffectOrCoeff() and all subclasses,
...
since it's unused.
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/31853003
git-svn-id: http://skia.googlecode.com/svn/trunk@11913 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 14:03:22 +00:00
commit-bot@chromium.org
a34995e18b
Implement SkColorFilter as a GrGLEffect
...
Adds GrEffect::willUseInputColor() which indicates whether or not the
input color affects the output of the effect. This is needed for
certain Xfermodes, such as kSrc_Mode. For these modes the color filter
will not use the input color.
An effect with GrEffect::willUseInputColor() true will cause all color
or coverage effects before it to be discarded, as their computations
cannot affect the output. In these cases program is marked as having
white input color.
This fixes an assert when Skia is compiled in a mode that prefers
using uniforms instead of attributes for constants. (Flags
GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using
attributes hides the problem where the fragment shader does not need
input color for color filters that ignore DST part of the filter. The
assert would be hit when uniform manager tries to bind an uniform which
has been optimized away by the shader compiler.
Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL
expressions like "(v - src.a)" can remain somewhat readable in form of
"(v - src.a())". The GrGLSLExpr<typename> template implements the
generic functionality, GrGLSLExprX is the specialization that exposes
the type-safe interface to this functionality.
Also adds operators so that GLSL binary operators of the form
"(float * vecX)" can be expressed in C++. Before only the equivalent
"(vecX * float)" was possible. This reverts the common blending
calculations to more conventional order, such as "(1-a) * c" instead of
"c * (1-a)".
Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the
color filter blending formula string the same (with the exception of
variable name change).
Shaders change in case of input color being needed:
- vec4 filteredColor;
- filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor);
- fsColorOut = filteredColor;
+ vec4 output_Stage1;
+ { // Stage 1: ModeColorFilterEffect
+ output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1);
+ }
+ fsColorOut = output_Stage1;
Shaders change in case of input color being not needed:
-uniform vec4 uFilterColor;
-in vec4 vColor;
+uniform vec4 uFilterColor_Stage0;
out vec4 fsColorOut;
void main() {
- vec4 filteredColor;
- filteredColor = uFilterColor;
- fsColorOut = filteredColor;
+ vec4 output_Stage0;
+ { // Stage 0: ModeColorFilterEffect
+ output_Stage0 = uFilterColor_Stage0;
+ }
+ fsColorOut = output_Stage0;
}
R=bsalomon@google.com , robertphillips@google.com , jvanverth@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25023003
git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-23 05:42:03 +00:00
commit-bot@chromium.org
f642f8cf90
Magnifier gpu path fix
...
The y axis was inverted for the offset, which should have been computed on the other side of the magnifying rectangle.
BUG=
R=bsalomon@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/28273005
git-svn-id: http://skia.googlecode.com/svn/trunk@11883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 15:59:26 +00:00
robertphillips@google.com
c2eae47954
Reverting revert of r11862 (Constify SkFlattenable::getFactory()) or reverting r11871.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11876 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 12:26:10 +00:00
senorblanco@chromium.org
2a4223c783
Fix for cropped matrix convolution for BottomLeft render targets.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/31083002
git-svn-id: http://skia.googlecode.com/svn/trunk@11872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 20:21:19 +00:00
robertphillips@google.com
b5e391025e
Reverted due to Chromium compilation failures. Please see:
...
https://codereview.chromium.org/30973002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-20 13:34:21 +00:00
senorblanco@chromium.org
7938bae14a
Implement crop rect support for SkMatrixConvolutionImageFilter.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/27471002
git-svn-id: http://skia.googlecode.com/svn/trunk@11863 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 20:08:14 +00:00
commit-bot@chromium.org
575604d4c2
Constify SkFlattenable::getFactory().
...
This allows us to also constify the argument of
SkFlattenableWriteBuffer::writeFlattenable() - which I've recently found
myself const-casting for no apparent good reason.
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/29143005
git-svn-id: http://skia.googlecode.com/svn/trunk@11862 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-18 19:37:55 +00:00
senorblanco@chromium.org
1aa68723b8
Make SkImageFilter::asNewEffect() (and all derived-class overrides) protected.
...
R=bsalomon@google.com , bsalomon
Review URL: https://codereview.chromium.org/26937006
git-svn-id: http://skia.googlecode.com/svn/trunk@11847 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 19:35:09 +00:00
commit-bot@chromium.org
34150b451d
Clear out SK_SCALAR_IS_FLOAT from SkRadialGradient, and merge the logic for radial_mirror and radial_repeat.
...
New radial/repeated bench is 10-20x faster now using float instead of fixed; the rest are unaffected.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26410003
git-svn-id: http://skia.googlecode.com/svn/trunk@11824 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:59:44 +00:00
senorblanco@chromium.org
8b66abb9bc
Remove support for SK_CROP_RECT_IS_INT, now that it is no longer used in Blink or Chrome.
...
BUG=
R=reed@google.com , reed
Review URL: https://codereview.chromium.org/27521002
git-svn-id: http://skia.googlecode.com/svn/trunk@11812 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 15:46:00 +00:00
reed@google.com
353482251e
force readbuffer clients to use specialized readFoo for flattenables
...
BUG=
R=mtklein@google.com
Review URL: https://codereview.chromium.org/26702002
git-svn-id: http://skia.googlecode.com/svn/trunk@11803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 13:05:06 +00:00
senorblanco@chromium.org
01bdf3c568
Add crop rect support for SkDisplacementMapEffect (raster and GPU paths).
...
Covered by new test cases added to displacement GM (will require rebaseline).
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/26531002
git-svn-id: http://skia.googlecode.com/svn/trunk@11782 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 19:02:43 +00:00
senorblanco@chromium.org
33e88b7b93
SkRectShaderImageFilter: add a new factory method which takes a CropRect.
...
This will become the preferred API, and the old Create method will be deprecated.
R=reed@google.com , reed
BUG=
Review URL: https://codereview.chromium.org/26220004
git-svn-id: http://skia.googlecode.com/svn/trunk@11773 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 15:25:18 +00:00
commit-bot@chromium.org
6b7938f9cb
separate state for msaa renderability
...
R=robertphillips@google.com , brian@thesalomons.net
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/26695005
git-svn-id: http://skia.googlecode.com/svn/trunk@11770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 14:18:16 +00:00
commit-bot@chromium.org
790c3f4e09
Remove need for readFlattenableT from SkLightingImageFilter.
...
This will need new picture version.
BUG=
R=reed@android.com , sugoi@google.com , senorblanco@chromium.org , reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/26594008
git-svn-id: http://skia.googlecode.com/svn/trunk@11758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 16:28:56 +00:00
commit-bot@chromium.org
1108fc3058
Remove SkLumaXfermode.
...
Possibly the shortest-lived Skia feature, SkLumaXfermode is now replaced
by a color filter implementation (SkLumaColorFilter). All known existing
clients (Blink) have been converted.
R=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/26916002
git-svn-id: http://skia.googlecode.com/svn/trunk@11750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:11:11 +00:00
senorblanco@chromium.org
5e85300729
SkRectShaderImageFilter: add a workaround for the zero-sized rects currently passed by Blink.
...
BUG=306488
R=robertphillips@google.com , robertphillips
Review URL: https://codereview.chromium.org/26799004
git-svn-id: http://skia.googlecode.com/svn/trunk@11733 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 17:57:47 +00:00
senorblanco@chromium.org
e258eb34a8
Implement crop rect support for SkRectShaderImageFilter: remove fRect and use the cropRect from SkImageFilter in its place.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/26009004
git-svn-id: http://skia.googlecode.com/svn/trunk@11720 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 21:36:48 +00:00
commit-bot@chromium.org
d494b09f55
Align SkLumaColorFilter with the spec.
...
The spec requires the resulting RGB channels for LuminanceToAlpha to be
0 (and not just scaled by the luminance value</facepalm>):
| R' | | 0 0 0 0 0 | | R |
| G' | | 0 0 0 0 0 | | G |
| B' | = | 0 0 0 0 0 | * | B |
| A' | | 0.2125 0.7154 0.0721 0 0 | | A |
| 1 | | 0 0 0 0 1 | | 1 |
(http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement )
This doesn't affect luminance masking (which depends only on the
resulting alpha channel), but other color filter users may care
about all color components.
R=bsalomon@google.com , reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/26467003
git-svn-id: http://skia.googlecode.com/svn/trunk@11713 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 20:13:51 +00:00
senorblanco@chromium.org
b295fb6ff3
Change SkImageFilter's cropRect from SkIRect to a CropRect struct, containing an SkRect and flags indicating which parameters are set.
...
NOTE: this will require SK_CROP_RECT_IS_INT=1 to be set in Chrome until Blink has been updated to use SkImageFilter::CropRect. Include https://codereview.chromium.org/26528002/ with the Skia roll.
Note also that SK_CROP_RECT_IS_INT is a temporary measure until all call sites in Blink have been updated to use SkRect.
R=reed@google.com
Review URL: https://codereview.chromium.org/26371002
git-svn-id: http://skia.googlecode.com/svn/trunk@11692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 13:51:19 +00:00
commit-bot@chromium.org
824c346b6e
Express (GLSL expression, possibly known value) pairs as a class
...
Express (GLSL expression, possibly known value) pairs as a class
instead of two variables Introduces GrGLSLExpr<N> to encapsulate
the expression and possibly constant-folded value of the expression.
This simplifies passing of the expressions to functions.
Changes the shaders with following patterns:
{ // Stage 0: Linear Gradient
vec4 colorTemp = mix(uGradientStartColor_Stage0, uGradientEndColor_Stage0, clamp(vMatrixCoord_Stage0.x, 0.0, 1
colorTemp.rgb *= colorTemp.a;
- output_Stage0 = vec4((vColor) * (colorTemp));
+ output_Stage0 = (vColor * colorTemp);
+ }
Previously the vector cast was always added if constant folding was
effective, regardless of the term dimensions. Now the vector upcast is
not inserted in places where it is not needed, ie. when the binary
operator term is of the target dimension.
Also, some parentheses can be omitted. It is assumed that
GrGLSLExpr<N>("string") constructors construct a simple expression or
parenthesized expression.
Otherwise the shader code remains identical.
R=jvanverth@google.com , bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/25048002
git-svn-id: http://skia.googlecode.com/svn/trunk@11690 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 06:30:18 +00:00
robertphillips@google.com
c0de5d6b5f
Fix uninitialized memory access
...
https://codereview.chromium.org/26529002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11658 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-08 19:15:58 +00:00
commit-bot@chromium.org
6c1ee2d4e7
Luminance-to-alpha color filter (SkLumaColorFilter).
...
Adding a color filter luma implementation. The plan is to convert
existing clients and then deprecate SkLumaXfermode.
R=bsalomon@google.com , reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/25453004
git-svn-id: http://skia.googlecode.com/svn/trunk@11636 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 18:00:17 +00:00
commit-bot@chromium.org
5fd7d5c20a
Allow gradient optimization with perspective
...
Before, gradients would only interpolate the linear portion of the
quadratic equation if there was no perspective. This updates them to
do so even in the case that there is perspective. The rearrangement
of math causes noise differences in the following gm tests:
gradients_no_texture_gpu
gradients_view_perspective_gpu
gradients_local_perspective_gpu
gradients_gpu
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/25645006
git-svn-id: http://skia.googlecode.com/svn/trunk@11595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 01:20:09 +00:00
commit-bot@chromium.org
3390b9ac9a
Repurpose GrGLCoordTransform as GrGLProgramEffects
...
Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/25605008
git-svn-id: http://skia.googlecode.com/svn/trunk@11588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 15:17:58 +00:00
bsalomon@google.com
77af6805e5
Make GPU coord transforms automatic
...
Adds a GrCoordTransform class and updates the framework to handle
coord transforms similar to how it handles textures with
GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and
slightly repurposes it to be used by the framework instead of effects.
R=bsalomon@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/24853002
git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-02 13:04:56 +00:00
skia.committer@gmail.com
65caeaf32d
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11493 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 07:01:29 +00:00
commit-bot@chromium.org
1a4fb70c8a
Moving 4 SkImageFilter derived classes from blink to skia
...
There were 4 classes in blink that derived from SkImageFilter :
- TileImageFilter -> SkTileImageFilter
- OffsetImageFilter -> SkOffsetImageFilter (already existed)
- FloodImageFilter -> SkFloodImageFilter
- CompositeImageFilter -> SkCompositeImageFilter
All functions were copied as is, without modification (except for warnings fixes), except for the offset filter, which was merged into the existing SkOffsetImageFilter class, as a special case when a crop rect is provided. Since the names won't clash with the names in blink, it should be easy to integrate them in blink later and fix issues, if needed.
BUG=
R=senorblanco@google.com , senorblanco@chromium.org , bsalomon@google.com , reed@google.com , mtklein@google.com
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/24157005
git-svn-id: http://skia.googlecode.com/svn/trunk@11475 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 16:09:28 +00:00
senorblanco@chromium.org
962c8864e4
Implement crop rect support for the merge image filter.
...
Note: this will require rebaselining of the imagefilterscropped and testimagefilters GMs.
R=reed@google.com
Review URL: https://codereview.chromium.org/23600047
git-svn-id: http://skia.googlecode.com/svn/trunk@11387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-19 17:26:47 +00:00
commit-bot@chromium.org
0694ea7f6a
Fix to allow ovals GM to finish on N7
...
R=jvanverth@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/23477079
git-svn-id: http://skia.googlecode.com/svn/trunk@11340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-18 13:00:28 +00:00
senorblanco@chromium.org
8fcad98791
Implement crop rect for the dilate and erode (morphology) filters. This provoked some cleanup on the GPU side: apply_morphology() now deals with SkBitmaps, rather than GrTextures. There's still a clear opportunity for more refactoring between the two filters.
...
Note: this adds some test cases to the morphology GM, so it will require a rebaseline.
R=bsalomon@google.com , reed@google.com
Review URL: https://codereview.chromium.org/23892011
git-svn-id: http://skia.googlecode.com/svn/trunk@11313 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 13:41:43 +00:00
fmalita@google.com
ef45a646a7
[External patch] Source-over support for SkLumaXfermode.
...
This is a patch by Andrei Parvu <parvu@adobe.com> (Adobe CLA signer).
Original CL/review: https://codereview.chromium.org/24078006/
GM:lumamode will need rebaselining after landing this.
---
In order to use CSS luminance masking, we need to be able to create an
instance of SkLumaXfermode which can receive a kSrcOver mode, and applies
that mode after converting the source using the luminance-to-alpha
coefficients.
BUG=289420
R=reed@google.com
Review URL: https://codereview.chromium.org/23710053
git-svn-id: http://skia.googlecode.com/svn/trunk@11312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 13:09:16 +00:00
robertphillips@google.com
24ddde9758
Revert 11247, 11250, 11251, 11257, and 11279 to unblock DEPS roll ( https://codereview.chromium.org/24159002/ )
...
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11257 Canary build fix - https://codereview.chromium.org/23532068
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11288 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 14:04:05 +00:00
robertphillips@google.com
ba6e954140
Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:40:12 +00:00
robertphillips@google.com
478884f7d3
Revert 11247, 11250, 11251 and 11279 to unblock DEPS roll ( https://codereview.chromium.org/24159002/ )
...
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:19:11 +00:00
robertphillips@google.com
558d5d3f08
Warnings as errors fix
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11250 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 12:54:33 +00:00
commit-bot@chromium.org
4b681bc95b
Fixed issues found by fuzzer
...
Last week, the fuzzer found a few numerical issue with filters and I had written some fixes for them. Here are the fixes with some unit tests.
For senorblanco : So I figured out what was asserting when we'd get a 0 width "result" in SkBicubicImageFilter::onFilterImage(). Basically, if the "result" SkBitmap object calls SkBitmap::setConfig() with "width" and/or "height" set to 0, then the SkBitmap object will call SkBitmap::reset(), making the SkBitmap object's config invalid. At this point, calling SkBitmap::getAddr32() will assert, even without attempting to dereference the data pointer, because the SkBitmap's config is invalid. If height is valid, but width is 0, then this call to SkBitmap::getAddr32() happens directly in SkBicubicImageFilter::onFilterImage() a few lines lower and asserts right away.
BUG=
R=senorblanco@google.com , senorblanco@chromium.org , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23533042
git-svn-id: http://skia.googlecode.com/svn/trunk@11249 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 12:40:02 +00:00
commit-bot@chromium.org
5792cded61
Initial error handling code
...
I made it as simple as possible. The impact seems minimal and it should do what's necessary to make this code secure.
BUG=
R=reed@google.com , scroggo@google.com , djsollen@google.com , sugoi@google.com , bsalomon@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23021015
git-svn-id: http://skia.googlecode.com/svn/trunk@11247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 12:39:34 +00:00
skia.committer@gmail.com
9a070f24f1
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11176 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 07:01:44 +00:00
commit-bot@chromium.org
e0e7cfe44b
Change old PRG to be SkLCGRandom; change new one to SkRandom
...
The goal here is to get people to start using the new random number
generator, while leaving the old one in place so we don't have to
rebaseline GMs.
R=reed@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://chromiumcodereview.appspot.com/23576015
git-svn-id: http://skia.googlecode.com/svn/trunk@11169 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 20:09:12 +00:00
bsalomon@google.com
82d1223aec
Two and three color GPU gradients without textures.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/22854005
git-svn-id: http://skia.googlecode.com/svn/trunk@11158 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 15:36:26 +00:00
skia.committer@gmail.com
b3ec29d2d8
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@11143 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-07 07:01:16 +00:00
commit-bot@chromium.org
91a798f121
alpha threshold bitmap shader
...
Committed: http://code.google.com/p/skia/source/detail?r=11122
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/23707019
git-svn-id: http://skia.googlecode.com/svn/trunk@11131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 15:31:06 +00:00
bsalomon@google.com
67db510c9c
Revert "alpha threshold bitmap shader"
...
This reverts commit r11122.
git-svn-id: http://skia.googlecode.com/svn/trunk@11123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 22:48:05 +00:00
commit-bot@chromium.org
4ec4cf93b7
alpha threshold bitmap shader
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/23707019
git-svn-id: http://skia.googlecode.com/svn/trunk@11122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 21:54:04 +00:00
robertphillips@google.com
3dfa4cc07c
Add test to exercise extreme blur sigmas
...
https://codereview.chromium.org/23530039/
git-svn-id: http://skia.googlecode.com/svn/trunk@11099 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 16:39:03 +00:00
humper@google.com
3aad3b01af
add support for high quality image filtering on the GPU
...
R=bsalomon@google.com , reed@google.com
Review URL: https://codereview.chromium.org/23779003
git-svn-id: http://skia.googlecode.com/svn/trunk@11087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 19:23:53 +00:00
robertphillips@google.com
112a23e0fa
Hamfisted "fix" for pinterest blur crash
...
https://codereview.chromium.org/23819014/
git-svn-id: http://skia.googlecode.com/svn/trunk@11057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 17:17:43 +00:00
commit-bot@chromium.org
5a02cb48fd
Isolate VertexBuilder from GrGLShaderBuilder
...
Adds a nested class to GrGLShaderBuilder called VertexBuilder. Now
GrGLShaderBuilder can only modify the fragment shader directly. In
order to modify the vertex shader, the client code needs to call
getVertexShader, which will return null for vertex-less shaders.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://chromiumcodereview.appspot.com/23754003
git-svn-id: http://skia.googlecode.com/svn/trunk@11046 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 20:17:31 +00:00
commit-bot@chromium.org
74a3a2135c
Rename ShaderType enum to ShaderVisibility
...
Renames ShaderType in GrGLShaderBuilder to ShaderVisibility. It is now
used solely as a bitfield. Methods that previously accepted a single
ShaderType value are split into separate calls:
- getShader -> vsGetShader, gsGetShader, fsGetShader
- emiitFunction -> fsEmitFunction
- appendTextureLookup -> fsAppendTextureLookup
No change in functionality. This is a refactoring to allow us to
separate the vertex/geometry and fragment parts of GrGLShaderBuilder.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://chromiumcodereview.appspot.com/23826002
git-svn-id: http://skia.googlecode.com/svn/trunk@11044 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 19:43:59 +00:00
robertphillips@google.com
1f2f338e23
Split SkDevice into SkBaseDevice and SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
commit-bot@chromium.org
7ab7ca4199
Fix case where GrGLEffectMatrix gives back a dangling ptr for the coords var name.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/23706003
git-svn-id: http://skia.googlecode.com/svn/trunk@10982 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 15:59:13 +00:00
skia.committer@gmail.com
7bd141dce4
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10968 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 07:01:18 +00:00
senorblanco@chromium.org
fbaea53366
In image filters, apply the CTM and offset to the crop rect. This is necessary to compensate for both clipping applied by the compositor (communicated via the CTM) and for cropping applied in upstream image filters (communicated via the offset). This requires a few ugly conversions, since the crop rect is an SkIRect, and the ctm is an SkMatrix.
...
I also had to offset the matrix passed to filter evaluation by drawSprite() and internalDrawBitmap() by the primitive position. This is the same offset that is applied when drawing the primitive, to compensate for the internal saveLayer().
Also apply the total matrix to the filter params in asNewEffect(), so that (for example) lighting params are offset by both the compositor clipping and upstream crop rects.
R=reed@google.com
Review URL: https://codereview.chromium.org/23295017
git-svn-id: http://skia.googlecode.com/svn/trunk@10961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 21:37:01 +00:00
robertphillips@google.com
b75233b7fa
Fix compiler warning/error in r10936
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10938 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:31:31 +00:00
robertphillips@google.com
7ce661d19c
Blur refactoring
...
https://codereview.chromium.org/21835004/
git-svn-id: http://skia.googlecode.com/svn/trunk@10936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:14:03 +00:00
fmalita@google.com
3b3ce3bff5
Update SkLumaMaskXfermode partial coverage handling.
...
Use lerp-to-dst instead of straight coverage scaling to align the behavior with
the other transfer modes.
R=reed@google.com
Review URL: https://codereview.chromium.org/23453004
git-svn-id: http://skia.googlecode.com/svn/trunk@10927 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-26 21:46:34 +00:00
commit-bot@chromium.org
eaa7797990
Add luminance mask transfer modes.
...
This adds kSrcInLum_Mode and kDstInLum_Mode, to support CSS and SVG luminance masks (http://www.w3.org/TR/css-masking/#MaskValues , http://www.w3.org/TR/SVG/masking.html#Masking ).
The transfer coefficient is computed according to http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement "luminance-to-alpha":
luma = 0.2125 * r + 0.7154 * g + 0.0721 * b
R=bsalomon@google.com , reed@google.com , robertphillips@google.com , vandebo@chromium.org
Author: fmalita@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22918012
git-svn-id: http://skia.googlecode.com/svn/trunk@10887 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-23 13:13:12 +00:00
mtklein@google.com
330313a8a8
My clang now doesn't complain about !"foo".
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/22875037
git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
robertphillips@google.com
9b051a375b
Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018
Split SkDevice out of SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
7425c124f6
Refactor GrGLUniformManager::UniformHandle to initialize itself by default
...
Refactor GrGLUniformManager::UniformHandle to initialize itself to
"invalid" state by default. This simplifies the effect
constructors. In the future, it should also help catch potential
uninitialized uniform variable usage.
Remove unneeded explicit uniform handle validity assertions before the
handle usage. The assertion will always be made when handle is
converted to index.
BUG=skia:1492
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://chromiumcodereview.appspot.com/22340010
git-svn-id: http://skia.googlecode.com/svn/trunk@10713 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 18:14:19 +00:00
commit-bot@chromium.org
96ae688f03
effects: Replaces uses of GrAssert with SkASSERT.
...
This is the first step on migrating from GrAssert to SkASSERT as requested by
Brian.
R=bsalomon@google.com , robertphillips@google.com , scroggo@google.com
Author: tfarina@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22418006
git-svn-id: http://skia.googlecode.com/svn/trunk@10706 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 12:09:00 +00:00
skia.committer@gmail.com
d55e357a8e
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 07:01:20 +00:00
junov@chromium.org
f44fcdca01
Upstreaming DropShadowImageFilter into skia, from Blink
...
GM imagefiltersbase will need rebaselining after this change
R=senorblanco@chromium.org
Committed: https://code.google.com/p/skia/source/detail?r=10583
Review URL: https://codereview.chromium.org/22258005
git-svn-id: http://skia.googlecode.com/svn/trunk@10626 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 20:00:55 +00:00
commit-bot@chromium.org
1c4c9ef437
Move SkComposeImageFilter into its own {.h, .cpp} files
...
In http://crrev.com/21154002 , SkComposeImageFilter will be used
outside of tests. Consequently, this moves SkComposeImageFilter from
SkTestImageFilters.{h, cpp} into its own {.h, .cpp} files.
BUG=181613
R=senorblanco@chromium.org
Author: ajuma@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22438003
git-svn-id: http://skia.googlecode.com/svn/trunk@10591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 00:07:51 +00:00
jvanverth@google.com
9c8b4eaf28
Reverting r10583: Upstreaming DropShadowImageFilter into skia, from Blink
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10587 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 21:12:59 +00:00
junov@chromium.org
d8e4024719
Upstreaming DropShadowImageFilter into skia, from Blink
...
GM imagefiltersbase will need rebaselining after this change
R=senorblanco@chromium.org
Review URL: https://codereview.chromium.org/22258005
git-svn-id: http://skia.googlecode.com/svn/trunk@10583 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 20:01:40 +00:00
commit-bot@chromium.org
1aa54bf669
Added ctm matrix to GPU path
...
There should be no changes in behavior caused by this cl, it just adds the ctm matrix to filterImageGPU so that it may be used for scaling on all platforms when it is implemented on the blink side.
BUG=
R=senorblanco@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22209002
git-svn-id: http://skia.googlecode.com/svn/trunk@10536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 16:53:50 +00:00
senorblanco@chromium.org
350b4d50ea
Remove SkBlendImageFilter, and all tests. Its functionality has been subsumed by SkXfermodeImageFilter.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/21404002
git-svn-id: http://skia.googlecode.com/svn/trunk@10482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 14:59:05 +00:00
skia.committer@gmail.com
76015b0953
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10449 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 07:01:00 +00:00
senorblanco@chromium.org
d71732a5ba
Optimize the blur convolution by only applying domain clamping where necessary. Split the blur convolution into left and right margins which have clamping applied and a center portion which doesn't. Also reorder the convolve_gaussian() parameters to match GrConvolutionEffect params. Correctness is covered by existing tests; performance is covered by BlurImageFilter bench.
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/21224003
git-svn-id: http://skia.googlecode.com/svn/trunk@10444 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 21:11:05 +00:00
commit-bot@chromium.org
38bad32cf5
fold SK_CPU_HAS_CONDITION_INSTR through as always defined
...
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/21122005
git-svn-id: http://skia.googlecode.com/svn/trunk@10432 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 13:16:29 +00:00
robertphillips@google.com
17ad2bd077
Fix quickReject computation for blurs
...
https://codereview.chromium.org/17035007/
git-svn-id: http://skia.googlecode.com/svn/trunk@10428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 12:15:19 +00:00
senorblanco@chromium.org
e8232bc6f0
Small optimization for convolution shader: only apply the bounds check in direction of convolution, not both. This requires generating different versions of the shader depending on direction.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/20789003
git-svn-id: http://skia.googlecode.com/svn/trunk@10417 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-29 18:45:44 +00:00
senorblanco@chromium.org
4e16bb2a32
Implement crop rect for lighting image filters. Changes for the CPU path were fairly straightforward: use the bounds rectangle when traversing the pixels, not the source rectangle.
...
For the GPU path, this required modifying the signature of SkImageFilter::asNewEffect() to receive the bounds offset, so that the lighting filters could offset the light position by the offset. It also required modifying the base-class implementation of SkImageFilter::filterImageGPU() (which implements single-pass filters) to intersect against the bounds rect, to pass its offset to asNewEffect(), and to modify the caller's offset (so it's drawn in the correct place).
Note: this will require rebaselining the lighting GM. Six new test cases were added, to accommodate a cropped version of each lighting filter.
R=bsalomon@google.com , reed@google.com
Review URL: https://codereview.chromium.org/20426002
git-svn-id: http://skia.googlecode.com/svn/trunk@10379 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 00:10:07 +00:00
humper@google.com
b86add1ad3
make the filter mode for GrTextureAccess an enum so we can plumb down
...
the paint's filter modes to the GPU
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/20362002
git-svn-id: http://skia.googlecode.com/svn/trunk@10368 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 18:49:07 +00:00
senorblanco@chromium.org
194d775edc
This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
...
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.
This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.
At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=10251
Review URL: https://codereview.chromium.org/19775006
git-svn-id: http://skia.googlecode.com/svn/trunk@10338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 22:19:24 +00:00
robertphillips@google.com
58c856a54a
Reverting r10251 (Implement crop rect for SkImageFilter) due to Chromium-side unit test failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 13:18:06 +00:00
skia.committer@gmail.com
6ae6383f56
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 07:01:05 +00:00
senorblanco@chromium.org
ccf225cebb
This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
...
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.
This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.
At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.
R=reed@google.com
Review URL: https://codereview.chromium.org/19775006
git-svn-id: http://skia.googlecode.com/svn/trunk@10251 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 20:03:22 +00:00
reed@google.com
9cfc83cc8a
stop using bitmap-filter flags outside of paint itself, as a step towards really changing them into an enum
...
BUG=
Review URL: https://codereview.chromium.org/19825002
git-svn-id: http://skia.googlecode.com/svn/trunk@10240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:18:18 +00:00
commit-bot@chromium.org
fd03d4a829
Replace all instances of GrRect with SkRect.
...
And remove the typedef in GrRect.h. The same with GrIRect.
R=robertphillips@google.com
Author: tfarina@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19449002
git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 21:39:42 +00:00
skia.committer@gmail.com
977409aceb
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10096 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 07:00:56 +00:00
robertphillips@google.com
cce4102f31
Added newlines at the end of SkGpuBlurUtils.*
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 15:47:10 +00:00
robertphillips@google.com
736dd031f1
Move gaussianBlur functionality to src\effects
...
https://codereview.chromium.org/18771004/
git-svn-id: http://skia.googlecode.com/svn/trunk@10080 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 15:06:54 +00:00
commit-bot@chromium.org
42dacab4e7
Make GrPaint have a variable sized array of color and coverage stages rather than a fixed size.
...
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/18686007
git-svn-id: http://skia.googlecode.com/svn/trunk@10062 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 17:24:24 +00:00
reed@google.com
c1a8684a47
use SkIntToScalar
...
BUG=
R=senorblanco@chromium.org
Review URL: https://codereview.chromium.org/18622004
git-svn-id: http://skia.googlecode.com/svn/trunk@9981 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 21:51:47 +00:00
commit-bot@chromium.org
7b320703d4
Implement offset for GPU filter path. Although we can't yet use this in Blink for FEOffset, due to SVG semantics, we can use it to support crop rect (upcoming patch).
...
This patch adds the parameter to the filterImageGPU() signature, plumbs through the code on the GPU side, and implements support for it in SkXfermodeImageFilter for both raster and GPU.
Of the remaining filters with GPU implementations, Blur, Morphology, Bicubic and Displacement work fine; they're commutative wrt offset and can simply pass it up the chain. Blend is not, but will be removed shortly anyway (has been replaced with SkXfermodeImageFilter in Blink).
R=reed@google.com , bsalomon@google.com
Author: senorblanco@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15995026
git-svn-id: http://skia.googlecode.com/svn/trunk@9977 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 21:22:18 +00:00
robertphillips@google.com
cb6d97ca71
Revert of r9902 (Consider conical shader opaque if it covers
...
entire plane - https://chromiumcodereview.appspot.com/18533006 ) due to roll issues (https://codereview.chromium.org/18859007/ )
git-svn-id: http://skia.googlecode.com/svn/trunk@9926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 13:50:09 +00:00
commit-bot@chromium.org
9839320ae1
Removing highp variables from perlin noise shader
...
Variables using highp on the Adreno320 (A.K.A. Nexus 4) seem to be causing issues. I modified the shader so that all variables stay in a lower range, no longer requiring the "highp" qualifier.
This may improve performance on other devices, like the xoom, where the "highp" qualifier was required.
In Blink, these layout tests may require rebaselining :
./css3/filters/effect-reference-hw.html
./css3/filters/effect-reference-zoom-hw.html
BUG=https://code.google.com/p/skia/issues/detail?id=1376
R=senorblanco@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18454004
git-svn-id: http://skia.googlecode.com/svn/trunk@9903 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-04 18:13:05 +00:00
commit-bot@chromium.org
5e6c3557f8
Consider conical shader opaque if it covers entire plane.
...
BUG=222380
R=junov@chromium.org , senorblanco@chromium.org , reed@google.com
Author: arbesfeld@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18533006
git-svn-id: http://skia.googlecode.com/svn/trunk@9902 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-04 14:42:26 +00:00
skia.committer@gmail.com
1842adf013
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@9900 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-04 07:01:07 +00:00
robertphillips@google.com
3cc820c050
Fix for r9888 bug
...
https://codereview.chromium.org/18656002/
git-svn-id: http://skia.googlecode.com/svn/trunk@9899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 19:36:55 +00:00
robertphillips@google.com
491493119c
Add canFilterMaskGPU & filterMaskGPU to SkMaskFilter
...
https://codereview.chromium.org/18110012/
git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:34:35 +00:00
commit-bot@chromium.org
b8d00db075
Change undefined SkGpuRenderTarget and SkGpuTexture forward declares to GrRenderTarget and GrTexture.
...
R=robertphillips@google.com , reed@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/17269003
git-svn-id: http://skia.googlecode.com/svn/trunk@9775 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 19:18:23 +00:00
reed@google.com
6ba4572eed
remove dst/rendertarget support for kARGB_4444_Config
...
BUG=
Review URL: https://codereview.chromium.org/17335008
git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 18:30:53 +00:00
commit-bot@chromium.org
344cf45a40
*** Perlin noise GM needs to be rebaselined ***
...
Enabling Perlin Noise on Android
I enabled the Perlin Noise shader on Android after doing some minor modifications to the shader, specifically for Android (and #ifdefed for Android, to make sure none of this affects other platforms).
For Tegra devices (Nexus 7, Xoom), a precision issue related to the color values read from textures caused the noise to read the wrong indices and produce bad noise. I fixed this by adding a founding of the values read by simply doing the equivalent of "colorValue = floor(colorValue * 255.0) / 255.0" to make sure we retrieve the colors that were written in the texture originally.
For non-Tegra devices (Nexus 10), dealing with values in the order of 4096.0 was problematic without using the "highp" precision setting. To solve this, a few variables were given the high precision setting.
Since both fixes don't seem to do considerable harm to the platforms that are not being targetted, I left both fixes on all android devices for now.
I also reduced the Perlin noise gm so that it takes less time to test it on the Xoom (Original time was about 20 seconds, this shold take less than 10, hopefully)
BUG=
R=senorblanco@google.com , bsalomon@google.com , sugoi@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16818013
git-svn-id: http://skia.googlecode.com/svn/trunk@9637 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 14:19:01 +00:00
senorblanco@chromium.org
b1b3d5122e
Disable the unpremultiply/remultiply in SkArithmeticMode, both raster and GPU, since the SVG spec actually defines arithmetic compositing to operate on premul colours directly.
...
The unpremul/remul code has been placed behind a gUseUnpremul global, which is default false. The non-unpremul path uses a min() to keep the colours to valid premult values.
Note: This change will require new baselines for the arithmode and xfermodeimagefilter GMs.
R=reed@google.com
Review URL: https://codereview.chromium.org/16034013
git-svn-id: http://skia.googlecode.com/svn/trunk@9555 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 22:15:43 +00:00
commit-bot@chromium.org
0a1c3872de
Remove the non-separable blur because it is no longer used.
...
R=senorblanco@chromium.org , reed@google.com
Author: arbesfeld@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16750002
git-svn-id: http://skia.googlecode.com/svn/trunk@9503 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 15:23:42 +00:00
sugoi@google.com
d537af50fc
Fixed gpu perlin noise on Windows
...
I just cleaned up and re-ordered some instructions to reduce the number of registers used under the register limit. Instead of looping over channels, the function now only loops over octaves and computes all 4 channels separately within each octave loop. I made a noise function to make it simpler to make the changes and I fixed the code's alignment so that it's more readable.
R=bsalomon@google.com , senorblanco@chromium.org
Review URL: https://codereview.chromium.org/15753005
git-svn-id: http://skia.googlecode.com/svn/trunk@9486 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 13:59:25 +00:00
commit-bot@chromium.org
e904b45696
Fix leak of effect in SkXfermodeImageFilter::filterImageGPU()
...
R=senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/16305016
git-svn-id: http://skia.googlecode.com/svn/trunk@9418 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 19:40:17 +00:00
senorblanco@chromium.org
86fc266eda
Implement SkXfermode image filter. This required changing the signature of SkXfermode::asNewEffectOrCoeffs(), to add an optional background texture.
...
For the raster path, we do a straightforward 2-pass method: draw background, then composite the foreground over it.
For the GPU path, if the xfermode can be expressed as an effect, we build an effect with the background texture incorporated, then do a single-pass draw fetching both foreground and background textures, and compositing to the result. If the xfermode is expressed as src/dst coefficients, we do a 2-pass draw as in the raster path and use fixed-function blending.
R=bsalomon@google.com , reed@google.com
Review URL: https://codereview.chromium.org/16125008
git-svn-id: http://skia.googlecode.com/svn/trunk@9373 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 17:49:12 +00:00
reed@google.com
277c3f8765
bump picture version since SkPath has changed (conics)
...
enable conics in SkPath
git-svn-id: http://skia.googlecode.com/svn/trunk@9370 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 15:17:50 +00:00
reed@google.com
fa2f2a48f6
Revert "add asserts to point<-->verb helpers"
...
This reverts commit b4775ac7b55802e87231768f002e4b42f233b0aa.
git-svn-id: http://skia.googlecode.com/svn/trunk@9347 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 15:29:48 +00:00
reed@google.com
7950a9eba7
add asserts to point<-->verb helpers
...
patch from issue 16153005
BUG=
Review URL: https://codereview.chromium.org/16195004
git-svn-id: http://skia.googlecode.com/svn/trunk@9344 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 14:57:55 +00:00
senorblanco@chromium.org
1afa3fff29
Speculative fix for Tegra-based Androids: don't try to unpremultiply dstColor in-place; put it in a temporary.
...
TBR=bsalomon
Review URL: https://codereview.chromium.org/16214002
git-svn-id: http://skia.googlecode.com/svn/trunk@9336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 23:41:28 +00:00
senorblanco@chromium.org
9a6eb0e1e8
Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff().
...
Doing it this way required modifying the arithmode GM to use saveLayer()/restore() rather than creating an offscreen SkBitmap, since otherwise the compositing is always done in raster mode. Fixing that in turn exposed that SkArithmeticMode did not work in Picture mode, since it wasn't flattenable. Made it so.
Note: this will require rebaselining the arithmode GM (again).
R=bsalomon@google.com , reed@google.com
Originally committed: https://code.google.com/p/skia/source/detail?r=9324
Reverted: https://code.google.com/p/skia/source/detail?r=9325
Review URL: https://codereview.chromium.org/16064002
git-svn-id: http://skia.googlecode.com/svn/trunk@9330 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 20:55:09 +00:00
senorblanco@chromium.org
06e7424c70
Revert "Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff()."
...
This reverts commit b8ffe17b5c684f9cfff02285f27e6aa1f75c9b53.
TBR=robertphillips
Review URL: https://codereview.chromium.org/16115007
git-svn-id: http://skia.googlecode.com/svn/trunk@9325 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 19:05:54 +00:00
senorblanco@chromium.org
6b6c1dc34c
Provide a GPU implementation of SkArithmeticMode, using a custom GrEffect exposed via asNewEffectOrCoeff().
...
Doing it this way required modifying the arithmode GM to use saveLayer()/restore() rather than creating an offscreen SkBitmap, since otherwise the compositing is always done in raster mode. Fixing that in turn exposed that SkArithmeticMode did not work in Picture mode, since it wasn't flattenable. Made it so.
Note: this will require rebaselining the arithmode GM (again).
R=bsalomon@google.com , reed@google.com
Review URL: https://codereview.chromium.org/16064002
git-svn-id: http://skia.googlecode.com/svn/trunk@9324 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 18:50:46 +00:00
senorblanco@chromium.org
35c733cc9c
Fix alpha computation in SkArithmeticMode.
...
Note: this will require new baselines for the arithmode GM.
R=reed@google.com
Review URL: https://codereview.chromium.org/15917010
git-svn-id: http://skia.googlecode.com/svn/trunk@9302 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 19:43:05 +00:00
commit-bot@chromium.org
c7d624ec53
check texture is not NULL to aovid segmentation fault. If the texture created by GrLockAndRefCachedBitmapTexture() is NULL, ColorTableEffect::Create will cause segmentation fault by GrAssert in src/gpu/GrTextureAccess.cpp. The simple patch checked texture to avoid segment fault, and returned a NULL effect to the caller. The caller will handle NULL effect, for example, it will set default effect.
...
R=bsalomon@google.com , robertphillips@google.com
Author: yunchao.he@intel.com
Review URL: https://chromiumcodereview.appspot.com/15824003
git-svn-id: http://skia.googlecode.com/svn/trunk@9287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 13:13:56 +00:00
senorblanco@chromium.org
68400767be
Remove SkImageFilter::getInputResult(), since its return value is not
...
style-compliant, and doesn't allow us to abort on failure.
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=9245
Review URL: https://codereview.chromium.org/15600003
git-svn-id: http://skia.googlecode.com/svn/trunk@9274 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 15:04:07 +00:00
reed@google.com
3d3a860d0b
Add flag to gradients to interpolate colors in premul space. Experimental API to encapsulate the shared parameters for all gradients into a struct.
...
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/15893002
git-svn-id: http://skia.googlecode.com/svn/trunk@9273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 14:58:44 +00:00
skia.committer@gmail.com
3e2345a8d5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@9266 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 07:01:26 +00:00
reed@google.com
437d6eb4e0
use Descriptor struct to encapsulate all the common paramaeters between our various gradient types. If we like it, might promote it to the public API.
...
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/15733007
git-svn-id: http://skia.googlecode.com/svn/trunk@9260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 19:03:05 +00:00
robertphillips@google.com
0fb775cd77
Fix compiler error/warning in r9255
...
git-svn-id: http://skia.googlecode.com/svn/trunk@9256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 14:11:41 +00:00
robertphillips@google.com
1202c2ac56
Add printing of SkColorFilter-derived classes to debugger
...
https://codereview.chromium.org/15697012/
git-svn-id: http://skia.googlecode.com/svn/trunk@9255 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-23 14:00:17 +00:00
robertphillips@google.com
f0656c140a
Reverting r9245 due to Chrome breakage
...
git-svn-id: http://skia.googlecode.com/svn/trunk@9250 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 23:56:49 +00:00
senorblanco@chromium.org
be1d02e528
Remove SkImageFilter::getInputResult(), since its return value is not
...
style-compliant, and doesn't allow us to abort on failure.
R=reed@google.com
Review URL: https://codereview.chromium.org/15600003
git-svn-id: http://skia.googlecode.com/svn/trunk@9245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 18:59:58 +00:00
commit-bot@chromium.org
8f838259ab
Add methods to SkLayerDrawLooper to allow adding layers on top
...
as well as on the bottom.
This is more convenient for some callers who generate layers
from a data structure in bottom-to-top, rather than top-to-bottom,
order.
BUG=242529
R=tomhudson@chromium.org
Author: jbroman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15314003
git-svn-id: http://skia.googlecode.com/svn/trunk@9233 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 12:35:50 +00:00
reed@google.com
b83cb9bf89
add SkLerpXfermode
...
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/15602003
git-svn-id: http://skia.googlecode.com/svn/trunk@9229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 21:33:11 +00:00
robertphillips@google.com
83d1a68141
Add special handling of rectori case for gpu
...
https://codereview.chromium.org/15080010/
git-svn-id: http://skia.googlecode.com/svn/trunk@9175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 12:50:27 +00:00
commit-bot@chromium.org
5da3f22003
Fix includes in SkLayerDrawLooper.h. It was previously not possible to
...
include this header unless SkPoint and SkPaint were previously defined.
BUG=
R=reed@google.com , senorblanco@chromium.org
Author: jbroman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14607015
git-svn-id: http://skia.googlecode.com/svn/trunk@9130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-14 20:11:23 +00:00
commit-bot@chromium.org
8d47ddc19a
Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position
...
R=senorblanco@chromium.org , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://chromiumcodereview.appspot.com/14998007
git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 14:55:46 +00:00
caryclark@google.com
9584b9ebd8
Fix compile warning
...
Review URL: https://codereview.chromium.org/14227005
git-svn-id: http://skia.googlecode.com/svn/trunk@8748 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 17:44:57 +00:00
sugoi@google.com
f738cf0689
Adding a bit of rebustness to SkRectShaderImageFilter
...
Since SkRectShaderImageFilter is an image filter, I added logic so that it can actually use the size of an input image as the rect if an empty rect is provided as an argument. I also added logic to prevent creating an empty device.
Review URL: https://codereview.chromium.org/14093008
git-svn-id: http://skia.googlecode.com/svn/trunk@8739 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 14:13:10 +00:00
sugoi@google.com
423ac13f35
Disabling GPU noise on Windows since Angle can't do a proper translation of this shader to HLSL.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 14:04:57 +00:00
sugoi@google.com
319baf9963
Reducing the complexity of the noise test for Angle
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8725 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 15:34:09 +00:00
sugoi@google.com
0a1db4a489
Fixing debug bench assert on Android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 14:50:38 +00:00
sugoi@google.com
4775cba7b3
Perlin noise adjustments
...
1 ) Added GPU simplex noise as a comparison to GPU Perlin noise. It can be enabled simply by using a #define (SK_USE_SIMPLEX_NOISE)
2 ) Enabled GPU Perlin noise tests
3 ) Added a small benchmark for noise
4 ) Disabled GPU Perlin noise on Android based on benchmarks
Review URL: https://codereview.chromium.org/14087002
git-svn-id: http://skia.googlecode.com/svn/trunk@8719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 13:46:56 +00:00
senorblanco@chromium.org
d043ccee37
Allow single-pass filters (which use asNewEffect()) to participate in the image filter DAG. This was done by introducing the SkSinglePassImageFilter abstract base class, which implements canFilterImageGPU() and filterImageGPU() on behalf of the derived class. The derived class still only needs to asNewEffect(). This allows us to recurse on the filter input in SkSinglePassImageFilter::onFilterImageGPU(). It also allows us to remove any knowledge of single-pass image filters from SkGpuDevice and from the SkImageFilter base class as well.
...
BUG=
Review URL: https://codereview.chromium.org/13602013
git-svn-id: http://skia.googlecode.com/svn/trunk@8563 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 19:43:22 +00:00
skia.committer@gmail.com
cff0243b0f
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8548 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-06 07:01:10 +00:00
sugoi@google.com
b4bdb6518e
Unreviewed test fix
...
Just commenting out the test for now, will investigate...
git-svn-id: http://skia.googlecode.com/svn/trunk@8544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 14:38:08 +00:00
sugoi@google.com
e3b4c5097a
New SVG turbulence in Skia
...
This cl contains the code for CPU generation of noise.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.chromium.org/13094003
git-svn-id: http://skia.googlecode.com/svn/trunk@8541 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 13:47:09 +00:00
bsalomon@google.com
b8eb2e89ed
Make GrGLShaderBuilder::TextureSampler extract only required info from GrTextureAccess.
...
This will make it possible to init a TextureSampler without a texture or a specific config.
Also unify two separate bitfields of color components in GPU code.
Review URL: https://codereview.chromium.org/13121002
git-svn-id: http://skia.googlecode.com/svn/trunk@8428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 13:46:42 +00:00
tfarina@chromium.org
48552314f6
Fix a few clang errors while trying to build tools target.
...
Most of the errors were like:
../../src/gpu/gl/GrGLEffectMatrix.cpp:74:9: error: variable 'varyingType' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
../../src/gpu/gl/debug/GrDebugGL.h:125:21: error: private field 'fMaxTextureUnits' is not used [-Werror,-Wunused-private-field]
../../src/core/SkBitmapSampler.cpp:312:25: error: private field 'fProcTable' is not used [-Werror,-Wunused-private-field]
R=bsalomon@google.com ,scroggo@google.com
Review URL: https://codereview.chromium.org/12915007
git-svn-id: http://skia.googlecode.com/svn/trunk@8403 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 21:48:58 +00:00
robertphillips@google.com
8cf10efe75
Reverting r8376, r8373 and r8371 due to Android shader compilation failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 22:16:02 +00:00
sugoi@google.com
2874906bf2
Unreviewed build fix
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8373 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 20:14:08 +00:00
sugoi@google.com
2daa365123
New SVG turbulence in Skia
...
This cl contains the code for both CPU and GPU generation of noise. Both
codepaths yield equivalent results.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.chromium.org/13047005
git-svn-id: http://skia.googlecode.com/svn/trunk@8371 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 19:31:04 +00:00
bsalomon@google.com
c26d94fd7d
Move nested class GrDrawTarget::Caps out as GrDrawTargetCaps.
...
Pass caps to GrEffect::TestCreate() functions so that they can return effects that will work with the capabilities.
Review URL: https://codereview.chromium.org/12965018
git-svn-id: http://skia.googlecode.com/svn/trunk@8369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 18:19:00 +00:00
robertphillips@google.com
b7636d3fad
Reverting 8313 (SVG turbulence) due to Ubuntu failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 21:22:03 +00:00
sugoi@google.com
3067cc904d
New SVG turbulence in Skia
...
This cl contains the code for both CPU and GPU generation of noise. Both codepaths yield equivalent results.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.appspot.com/7322060
git-svn-id: http://skia.googlecode.com/svn/trunk@8313 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 21:01:07 +00:00
sugoi@google.com
4d94e1bb06
Removed the "any" command from the displacement glsl shader.
...
WebKit's version of Mesa's compiler seems to crash on the "any" command even though it's a GLSL 1.1 command.
Review URL: https://codereview.chromium.org/12413030
git-svn-id: http://skia.googlecode.com/svn/trunk@8300 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 18:38:03 +00:00
robertphillips@google.com
35300c47fc
Fix minor valgrind-found memory leaks
...
https://codereview.chromium.org/12440066/
git-svn-id: http://skia.googlecode.com/svn/trunk@8297 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 17:38:49 +00:00
skia.committer@gmail.com
c1641fc922
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8281 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 07:01:39 +00:00
bsalomon@google.com
c78188896e
Attempt to reland 8264-5 with warning-as-error fixes.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8272 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 19:19:53 +00:00
reed@google.com
67e7cde5c5
revert 8265-8264 (broke build)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:47:16 +00:00
bsalomon@google.com
ae81d5c4aa
Adds local coords to GrEffect system.
...
Effects can ask the builder for local coords which may or may not be distinct from positions.
GrEffectStage tracks changes to relationship between pos and local coords.
GrGLEffectMatrix and GrSingleTextureEffect can use either pos or textures as intput coords
GrSimpleTextureEffect now allows for an explicit texture coords attribute.
Review URL: https://codereview.chromium.org/12531015
git-svn-id: http://skia.googlecode.com/svn/trunk@8264 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:32:27 +00:00
junov@google.com
723dd790fb
Unreviewed. Adding TODO comment to reference newly filed bug.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8263 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 16:54:30 +00:00
commit-bot@chromium.org
3fbab82bd3
Fixing deferred canvas bug caused by SkTwoPointConicalGradient declaring itself as opaque.
...
BUG=https://code.google.com/p/chromium/issues/detail?id=222140
TEST=DeferredCanvas unit test + DRT with --enable-deferred-2d-canvas
Author: junov@chromium.org
Reviewed By: bsalomon@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12879005
git-svn-id: http://skia.googlecode.com/svn/trunk@8247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 00:49:57 +00:00
sugoi@google.com
4ecd42e4bf
Fix for displacement mapping
...
Fixed the skia displacement map effect to match the WebKit displacement map fix.
Review URL: https://codereview.chromium.org/12787007
git-svn-id: http://skia.googlecode.com/svn/trunk@8225 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 15:07:30 +00:00
skia.committer@gmail.com
8eaddb0089
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8211 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 07:15:10 +00:00
robertphillips@google.com
0bd80fa01b
Added toString to SkMaskFilter-derived classes
...
https://codereview.appspot.com/7889043/
git-svn-id: http://skia.googlecode.com/svn/trunk@8194 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 17:53:38 +00:00
skia.committer@gmail.com
91274b9972
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8120 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-13 07:01:04 +00:00
robertphillips@google.com
a041b954ff
"Fix" case when bicubic filtering warps premultiplied color
...
https://codereview.appspot.com/7447048/
git-svn-id: http://skia.googlecode.com/svn/trunk@8096 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 13:13:07 +00:00
skia.committer@gmail.com
2e71f1619d
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8090 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 07:12:32 +00:00
humper@google.com
d4d573057e
add proper support for solid style, and temporarily turn off my change so the bots can go green |
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 22:18:54 +00:00
humper@google.com
e86af1f4ba
fix preprocessor abuse on Windows
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8084 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 21:23:36 +00:00
humper@google.com
68a690cb05
fix pad bug introduced during code cleanup
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 21:16:20 +00:00
humper@google.com
adef4fefd3
fix build warnings
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8078 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 20:32:05 +00:00
humper@google.com
7c5d7b7813
Plumb fast rectangle blur code into the skia mask filter
...
Review URL: https://codereview.chromium.org/12387099
git-svn-id: http://skia.googlecode.com/svn/trunk@8074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 20:16:28 +00:00
sugoi@google.com
e0e385c1d4
Removed unused parameters
...
I removed unused parameters wherever it was trivial to do so.
Review URL: https://codereview.chromium.org/12469002
git-svn-id: http://skia.googlecode.com/svn/trunk@8068 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 18:50:03 +00:00
djsollen@google.com
4bd2bdbf04
Upstream changes from Android.
...
Review URL: https://codereview.chromium.org/12699002
git-svn-id: http://skia.googlecode.com/svn/trunk@8045 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 18:35:13 +00:00
bsalomon@google.com
f910d3b23b
Make GrGLEffects use an interface to append their code.
...
A small step towards encapsulating GrGLShaderBuilder.
Review URL: https://codereview.chromium.org/12547012
git-svn-id: http://skia.googlecode.com/svn/trunk@8018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-07 17:06:57 +00:00
reed@google.com
13b77e8307
remove obsolete build flags:
...
SK_IGNORE_TRANS_CLAMP_FIX
SK_IGNORE_1XN_BITMAP_OPT
SK_IGNORE_CLIP_BUG_FIX
SK_IGNORE_FAST_SCALEMATRIX_INVERT
SK_IGNORE_QUAD_STROKE_FIX
SK_IGNORE_MULTIPLY_XFERMODE_OPT
SK_IGNORE_LARGE_DASH_OPT
Review URL: https://codereview.appspot.com/7381050
git-svn-id: http://skia.googlecode.com/svn/trunk@7829 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 16:36:57 +00:00
reed@google.com
fc28bd5db4
remove obsolete build flag SK_IGNORE_GRADIENT_DITHER_FIX
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7818 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 13:03:29 +00:00
skia.committer@gmail.com
bcab265e7a
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 07:16:18 +00:00
sugoi@google.com
4b6d432f1e
Small adjustments to SkRectShaderImageFilter to follow up on original cl.
...
Review URL: https://codereview.appspot.com/7377049
git-svn-id: http://skia.googlecode.com/svn/trunk@7816 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 20:26:50 +00:00
senorblanco@chromium.org
3c8fb51718
Fix warnings-as-errors on Mac10.6 and Win. Unreviewed.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 17:10:44 +00:00
sugoi@google.com
a1c511b870
New SkRectShaderImageFilter image filter
...
This new changelist also introduces a new image filter called SkRectShaderImageFilter which is make to simply apply a shader on a region without using any inputs.
TEST=Added ShaderImageFilter test
Review URL: https://codereview.appspot.com/7300046
git-svn-id: http://skia.googlecode.com/svn/trunk@7808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 15:02:28 +00:00
skia.committer@gmail.com
d454ec135e
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 07:15:03 +00:00
jvanverth@google.com
d98df1a3c4
Fix compile errors in blur code on Windows.
...
Various typecasts to remove warnings and get this code building on Windows.
git-svn-id: http://skia.googlecode.com/svn/trunk@7797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 19:02:34 +00:00
humper@google.com
1e1a24e2ca
remove blur radius reinterpretation for now to make rebaselining simpler and avoid significant changes to webkit and JNI -- those come later
...
BUG=
Review URL: https://codereview.appspot.com/7391043
git-svn-id: http://skia.googlecode.com/svn/trunk@7795 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 18:35:40 +00:00
humper@google.com
a99a92ceba
Complete the implementation of the faster blur; now supports all blur styles and matches the boxfilter approximation visually. Also change the interpretation of the blur radius to be sigma/2; need to add SK_IGNORE_BLUR_RADIUS_CORRECTNESS to chromium GYP to avoid immediate layout test failures over there.
...
Review URL: https://codereview.appspot.com/7307076
git-svn-id: http://skia.googlecode.com/svn/trunk@7793 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 16:42:06 +00:00
skia.committer@gmail.com
76bf70d38f
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 07:02:30 +00:00
senorblanco@chromium.org
a62a9ce9e6
Enable blur rounding (unreviewed).
...
At a minimum, the following tests will need a rebaseline: tilemodes, texteffects, shadows, drawlooper, drawbitmaprect, circles, blurrect, blurs, drawbitmapmatrix.
git-svn-id: http://skia.googlecode.com/svn/trunk@7769 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-19 17:09:14 +00:00
senorblanco@chromium.org
4a525d7fc2
Add rounding to the separable blurs. This should ensure that the box blurs are energy-preserving (ie., blurring solid 255 alpha stays 255 alpha).
...
Disabled by default; will enable & rebaseline.
Review URL: https://codereview.appspot.com/7350043
git-svn-id: http://skia.googlecode.com/svn/trunk@7768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-19 16:09:10 +00:00
robertphillips@google.com
791f12e6cf
Move SkPaint::toString from debugger to SkPaint
...
https://codereview.appspot.com/7314092/
git-svn-id: http://skia.googlecode.com/svn/trunk@7732 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 13:53:53 +00:00
bsalomon@google.com
73a9694b4c
Use SkMWRandom in GLPrograms test.
...
R=jvanverth@google.com
Review URL: https://codereview.appspot.com/7306097
git-svn-id: http://skia.googlecode.com/svn/trunk@7721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-13 16:31:19 +00:00
reed@google.com
d8e0d6a87d
Optimize building gradient cache for when we know alpha is always 0xFF.
...
remove old build guard for dithering.
Review URL: https://codereview.appspot.com/7309064
git-svn-id: http://skia.googlecode.com/svn/trunk@7678 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-08 19:48:12 +00:00
reed@google.com
53009ba701
only take the vertical special-case for gradients when dx is exactly 0, as a
...
zoomed gradient can have a very small dx, but be no where near to vertical.
http://code.google.com/p/skia/issues/detail?id=1101
Review URL: https://codereview.appspot.com/7310059
git-svn-id: http://skia.googlecode.com/svn/trunk@7653 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 20:28:49 +00:00
mike@reedtribe.org
1c295e422b
remove define for SK_IGNORE_GRADIENT_DITHER_FIX to trigger rebaselines
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7564 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-05 02:58:00 +00:00
senorblanco@chromium.org
377c14a1e6
Nuke SkSingleInputImageFilter. 99% of its functionality was refactored into SkImageFilterUtils in https://code.google.com/p/skia/source/detail?r=7467 , so it has outlived its usefulness.
...
Review URL: https://codereview.appspot.com/7277055
git-svn-id: http://skia.googlecode.com/svn/trunk@7563 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 22:57:21 +00:00
reed@google.com
ae97c065d3
remove vestiges of 32BIT_GRADIENT flag, as we always dither gradients now
...
(even in chrome)
Review URL: https://codereview.appspot.com/7281049
git-svn-id: http://skia.googlecode.com/svn/trunk@7558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 21:03:11 +00:00
reed@google.com
25cfa69342
land https://codereview.appspot.com/7221086/ -- add Multiply xfermode matching CSS spec
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 20:06:00 +00:00
reed@google.com
60040292be
Go from a 1x2 to a 2x2 dither cell, and change/simplify the logic for how we
...
compute the "dithered" version of a color to just a graduated fixed-point-round.
Also, add this new dither to conical and sweep, which before had no dithering.
Disabled for now using SK_IGNORE_GRADIENT_DITHER_FIX. Will enable this and
and rebaseline skia.
http://code.google.com/p/skia/issues/detail?id=1098
Review URL: https://codereview.appspot.com/7248046
git-svn-id: http://skia.googlecode.com/svn/trunk@7549 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 18:21:23 +00:00
skia.committer@gmail.com
9dde018753
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7533 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 12:57:42 +00:00
reed@google.com
55853db3cc
Move dither toggle logic into common helper functions, to make it easier to
...
change their behavior later. No functional change.
Review URL: https://codereview.appspot.com/7241063
git-svn-id: http://skia.googlecode.com/svn/trunk@7525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 19:34:59 +00:00
reed@google.com
ba3a3c93b2
revert name changes to SkBlendImageFilter. It (correctly) named its enum kMultiply_Mode,
...
and handled that itself internally, rather than calling SkXfermode. This CL removes
the kModulate_Mode alias from its list.
git-svn-id: http://skia.googlecode.com/svn/trunk@7509 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 14:35:09 +00:00
reed@google.com
3c2102c2d2
restore cache-count for gradients to p.o.2. so we can perform fancier dithering
...
in the future.
Review URL: https://codereview.appspot.com/7254043
git-svn-id: http://skia.googlecode.com/svn/trunk@7506 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 12:59:40 +00:00
robertphillips@google.com
c3ecf65c69
Speculative change to SkImageFilterUtils.cpp to try to get compiling in Chrome
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7483 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-31 02:33:09 +00:00
reed@google.com
8d3cd7a170
clone of https://codereview.appspot.com/7208043/
...
Review URL: https://codereview.appspot.com/7232062
git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 21:36:11 +00:00
robertphillips@google.com
5b33211c5e
Start addressing the clang static analyzer issues
...
https://codereview.appspot.com/7249043/
git-svn-id: http://skia.googlecode.com/svn/trunk@7469 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 20:33:12 +00:00
senorblanco@chromium.org
c2594f4106
This changes the signature of SkImageFilter::filterImageGPU() to use SkBitmaps for input and output, and removes the rect param. This allows us to return textures which are larger than the actual result, such as when GrAutoScratchTextures are used. The SkBitmap's size represents the active region, while the GrTexture's size is the full texture size.
...
This fixes the bicubic image filter GM on the GPU, which otherwise draws garbage outside the filtered region. It also moves us closer to unifying the signatures of SkImageFilter::onFilterImage() and SkImageFilter::filterImageGPU().
Review URL: https://codereview.appspot.com/7180048
git-svn-id: http://skia.googlecode.com/svn/trunk@7467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 19:08:47 +00:00
skia.committer@gmail.com
cdcb2ce274
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7439 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-29 07:05:52 +00:00
robertphillips@google.com
68f670fa72
Fix assert
...
https://codereview.appspot.com/7234050/
git-svn-id: http://skia.googlecode.com/svn/trunk@7428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 20:55:42 +00:00
robertphillips@google.com
4991b8f234
Added toString to SkDrawLooper-derived classes
...
https://codereview.appspot.com/7195054/
git-svn-id: http://skia.googlecode.com/svn/trunk@7422 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 20:21:59 +00:00
senorblanco@chromium.org
ef5dbe1cd9
Add an origin flag for backend (external) textures. Some textures in WebKit have a topdown orientation, and skia needs to be notified of this, so that they are not drawn upside-down.
...
Review URL: https://codereview.appspot.com/7200048
git-svn-id: http://skia.googlecode.com/svn/trunk@7414 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 16:42:38 +00:00
skia.committer@gmail.com
e16efc1882
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
reed@google.com
70375529cc
doh: use *srcPtr instead of src (which is now obsolete) when we check for specialLine
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-25 14:52:11 +00:00
robertphillips@google.com
d760073266
Hid large dashed line optimization behind compiler flag
...
https://codereview.appspot.com/7133078/
git-svn-id: http://skia.googlecode.com/svn/trunk@7391 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-25 14:47:48 +00:00
skia.committer@gmail.com
4024f32d99
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-25 07:06:46 +00:00
reed@google.com
4bbdeac58c
add optional cull-rect to patheffects, so they can do less work if their results
...
lie outside of the current clip-bounds (the cull rect).
Review URL: https://codereview.appspot.com/7206044
git-svn-id: http://skia.googlecode.com/svn/trunk@7378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-24 21:03:11 +00:00
bsalomon@google.com
95ed55adc6
Make all GrContext members that return a texture also ref the texture for the caller.
...
Review URL: https://codereview.appspot.com/7198049
git-svn-id: http://skia.googlecode.com/svn/trunk@7362 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-24 14:46:47 +00:00
skia.committer@gmail.com
98ded84b80
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7332 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-23 07:06:17 +00:00
bsalomon@google.com
8a252f7962
Switch GrEffect::onIsEqual signature back to GrEffect from GrEffectRef.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7188046
git-svn-id: http://skia.googlecode.com/svn/trunk@7326 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 20:35:13 +00:00
bsalomon@google.com
6340a41108
Let them eat GrEffectRef.
...
Changes the remaining existing code that operates on naked GrEffects to GrEffectRef.
Review URL: https://codereview.appspot.com/7124058
git-svn-id: http://skia.googlecode.com/svn/trunk@7321 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 19:55:59 +00:00
robertphillips@google.com
b83b6b4f76
Added toString to SkXfermode-derived classes (for debugger)
...
https://codereview.appspot.com/7139058/
git-svn-id: http://skia.googlecode.com/svn/trunk@7308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-22 14:32:09 +00:00
skia.committer@gmail.com
36df7ed46b
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7293 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-19 07:05:38 +00:00
senorblanco@chromium.org
3f2d45aff6
(Relanding r7275 with assert fix, plus fixes from r7276, r7280, r7283.)
...
Implement a bicubic resampling image filter, with raster and GPU backends.
In order to get this to work on the GPU side, I had to modify the width and height of the drawn texture in drawSprite() and drawDevice() to use the filtered texture's dimensions, instead of the source texture. (This wasn't a problem before since all other image filters produce results the same dimensions as their input texture.)
For now, this implementation only does axis-aligned scaling (same as the Lanczos-3 implementation in Chrome). It's also done for correctness and clarity, not speed, so there are lots of opportunities for speedups.
Committed: https://code.google.com/p/skia/source/detail?r=7275
Review URL: https://codereview.appspot.com/7033049
git-svn-id: http://skia.googlecode.com/svn/trunk@7287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 20:48:20 +00:00
robertphillips@google.com
c51f752554
Reverting chain of SkBicubicImageFilter changes (7275, 7276, 7280 & 7283)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 19:20:52 +00:00
reed@google.com
2124446ebb
fix unused-variable warning in src/effects/SkBicubicImageFilter.cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7283 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 18:31:19 +00:00
robertphillips@google.com
9f4965270f
Removed unused variable in SkBicubicImageFilter.cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7280 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 17:56:31 +00:00
senorblanco@chromium.org
92435a4364
Fix GPU-less build. Unreviewed.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7276 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 17:32:50 +00:00
senorblanco@chromium.org
744820e657
Implement a bicubic resampling image filter, with raster and GPU backends.
...
In order to get this to work on the GPU side, I had to modify the width and height of the drawn texture in drawSprite() and drawDevice() to use the filtered texture's dimensions, instead of the source texture. (This wasn't a problem before since all other image filters produce results the same dimensions as their input texture.)
For now, this implementation only does axis-aligned scaling (same as the Lanczos-3 implementation in Chrome). It's also done for correctness and clarity, not speed, so there are lots of opportunities for speedups.
Review URL: https://codereview.appspot.com/7033049
git-svn-id: http://skia.googlecode.com/svn/trunk@7275 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 17:29:15 +00:00
bsalomon@google.com
70db51fc09
Fix call to INHERITED::isEqual in GrRadial2Gradient. Should be INHERITED::onIsEqual.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 18:39:59 +00:00
bsalomon@google.com
68b58c9538
Remove default implementation of GrEffect::isEqual. Make GrSingleTextureEffect abstract.
...
Review URL: https://codereview.appspot.com/7142049
git-svn-id: http://skia.googlecode.com/svn/trunk@7254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 16:50:08 +00:00
bsalomon@google.com
a1ebbe447d
Change some function/vars from EffectPtr to EffectRef to reflect GrEffectPtr->GrEffectRef renaming.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:51:47 +00:00