History log of /external/skia/tests/ImageFilterTest.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a5fdc974a996dca79be8388e61db68043001760b 18-Feb-2017 Robert Phillips <robertphillips@google.com> Replace SkSpecialImage::makeTightSubset with asImage (take 2)

This is a reland of https://skia-review.googlesource.com/c/8498/ (Replace SkSpecialImage::makeTightSubset with asImage)

It must wait on https://codereview.chromium.org/2702703002/ (Add suppressions for upcoming Skia DEPS roll) due to minor layout test changes

This should allow the relanding of:

https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))

Change-Id: I7086a419869dbeb62d9b9e9714c796d54e75ee49
Reviewed-on: https://skia-review.googlesource.com/8701
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/tests/ImageFilterTest.cpp
e14349a7545e7bd1e93f4c3095db8f481939b053 17-Feb-2017 Robert Phillips <robertphillips@google.com> Revert "Replace SkSpecialImage::makeTightSubset with asImage"

This reverts commit 5df6db15dc04ea7f8c8fa7a7b58ecb881d7a70fe.

Reason for revert: Possibly blocking Chrome DEPS roll

Original change's description:
> Replace SkSpecialImage::makeTightSubset with asImage
>
> This should allow the relanding of:
>
> https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))
>
> Change-Id: I517af11036e3f44a280bbe6b9275f6c38f4a86a4
> Reviewed-on: https://skia-review.googlesource.com/8498
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ib5bebda78b2323e65a73504a61af918872ad231f
Reviewed-on: https://skia-review.googlesource.com/8607
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/tests/ImageFilterTest.cpp
5df6db15dc04ea7f8c8fa7a7b58ecb881d7a70fe 16-Feb-2017 Robert Phillips <robertphillips@google.com> Replace SkSpecialImage::makeTightSubset with asImage

This should allow the relanding of:

https://skia-review.googlesource.com/c/8450/ (Remove asTextureRef from SkSpecialImage & update effects accordingly (take 2))

Change-Id: I517af11036e3f44a280bbe6b9275f6c38f4a86a4
Reviewed-on: https://skia-review.googlesource.com/8498
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
/external/skia/tests/ImageFilterTest.cpp
bfebe22ed54d1e3a00888292f10ed8b9714135d3 14-Nov-2016 liyuqian <liyuqian@google.com> Set analytic AA as default.

We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
analytic AA until we fix all the Chrome tests.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002

Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8
Review-Url: https://codereview.chromium.org/2471133002
/external/skia/tests/ImageFilterTest.cpp
06dd5c77a6ca6c484c683f1006a7bb6742f8917e 11-Nov-2016 liyuqian <liyuqian@google.com> Revert of Set analytic AA as default. (patchset #8 id:140001 of https://codereview.chromium.org/2471133002/ )

Reason for revert:
SkASSERT triggered in some perf tests. Roll back.

Original issue's description:
> Set analytic AA as default.
>
> We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
> analytic AA until we fix all the Chrome tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002
>
> Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8

TBR=fmalita@chromium.org,msarett@google.com,mtklein@google.com,reed@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2499723002
/external/skia/tests/ImageFilterTest.cpp
dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 11-Nov-2016 liyuqian <liyuqian@google.com> Set analytic AA as default.

We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
analytic AA until we fix all the Chrome tests.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002

Review-Url: https://codereview.chromium.org/2471133002
/external/skia/tests/ImageFilterTest.cpp
5e25717ab6313b011ec54eac0109c414aa8ffc17 01-Nov-2016 Mike Reed <reed@google.com> hide setImageFilter(ptr)

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4184

Change-Id: Iad792cfdf54087ad4c424fd268559c162a9a5f5c
Reviewed-on: https://skia-review.googlesource.com/4184
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
7d954ad797176afedb9262fdea4507d0fc60eb9d 28-Oct-2016 Mike Reed <reed@google.com> remove xfermode from public api

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4020

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I19cd056f2af778f10e8c6c2b7b2735593b43dbac
Reviewed-on: https://skia-review.googlesource.com/4020
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
777b5633f599f2a99e2035fdb7ab600779ab95ac 14-Oct-2016 Brian Osman <brianosman@google.com> Remove many uses of kSkia8888 and kSkiaGamma8888

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3405

Change-Id: Ie920f4bcbb3dd28114a66f2363643bb10009b840
Reviewed-on: https://skia-review.googlesource.com/3405
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/tests/ImageFilterTest.cpp
374772bd61951f01bf84fe17bf53d8867681c9ae 06-Oct-2016 reed <reed@google.com> Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit c245574ba3d0e2ade6c94b2812de3baa383bf4c4.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2396953002

TBR=

Review-Url: https://codereview.chromium.org/2396953002
/external/skia/tests/ImageFilterTest.cpp
c245574ba3d0e2ade6c94b2812de3baa383bf4c4 05-Oct-2016 Mike Reed <reed@google.com> Revert[7] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8.

Reason for revert: new assert from 100K bot

Original change's description:
> Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> - perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
> This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992
>
> Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8
> Reviewed-on: https://skia-review.googlesource.com/2992
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I848e5a69c5cd67f2c14889f4f0a346652578c4ff
Reviewed-on: https://skia-review.googlesource.com/3023
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
2b2fc7db4f8a4a4d4a51d7eb4df6aa62e309928d 05-Oct-2016 Mike Reed <reed@google.com> Revert[6] "replace SkXfermode obj with SkBlendMode enum in paints"

- perform version check in CreateProc for XfermodeImageFilter and ArithmeticImageFilter
This reverts commit 3ed485f4249e17abb4b11f5018d03175fd1afb44.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2992

Change-Id: Ib4a154cdd5f5d1dcac921ef50d53b79a2d6a1be8
Reviewed-on: https://skia-review.googlesource.com/2992
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
3ed485f4249e17abb4b11f5018d03175fd1afb44 04-Oct-2016 Mike Reed <reed@google.com> Revert[5] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I0fa5c58af428f3da8565465d1219a34ef8417d9a.

Reason for revert: failing to deserialize some of the 100K

Original change's description:
> Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"
>
> This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2924
>
> Change-Id: I0fa5c58af428f3da8565465d1219a34ef8417d9a
> Reviewed-on: https://skia-review.googlesource.com/2924
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1805a57eef5ebcac203da5989c8539345ecf806f
Reviewed-on: https://skia-review.googlesource.com/2962
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
1834242ec6e3cd62669227d394bc79e1cd66dcfb 04-Oct-2016 Mike Reed <reed@google.com> Revert[4] "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit 2cbcd12281ee807214df094964c584c78932e10b.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2924

Change-Id: I0fa5c58af428f3da8565465d1219a34ef8417d9a
Reviewed-on: https://skia-review.googlesource.com/2924
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
2cbcd12281ee807214df094964c584c78932e10b 03-Oct-2016 Mike Reed <reed@google.com> Revert "Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints"""

This reverts commit I86875511a13497112827cbaed1dbd7639e9e3d10.

legacy (100K) skp failure

Original change's description:
> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""
>
> This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878
>
> Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
> Reviewed-on: https://skia-review.googlesource.com/2878
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=msarett@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ife6f0cf3a22b3e8cf885a188f7f44e1ff62e06a5
Reviewed-on: https://skia-review.googlesource.com/2881
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
70cdb396eb5ffbbed128b902532e9292b5ec0e9d 03-Oct-2016 Mike Reed <reed@google.com> Revert "Revert "replace SkXfermode obj with SkBlendMode enum in paints""

This reverts commit ce02e7175872abde3721df9e5d3ec0ab8384cd8e.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2878

Change-Id: I86875511a13497112827cbaed1dbd7639e9e3d10
Reviewed-on: https://skia-review.googlesource.com/2878
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
ce02e7175872abde3721df9e5d3ec0ab8384cd8e 03-Oct-2016 Mike Reed <reed@google.com> Revert "replace SkXfermode obj with SkBlendMode enum in paints"

This reverts commit I4fb489ba6b3f77b458f7e4a99f79c7ad10859135.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> replace SkXfermode obj with SkBlendMode enum in paints
>
> BUG=skia:5814
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714
>
> Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
> Reviewed-on: https://skia-review.googlesource.com/2714
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

TBR=bsalomon@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I3e43f79ef5c1709929663fe63cc1f67cd78270b7
Reviewed-on: https://skia-review.googlesource.com/2871
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
0591897548c8fcb7d53cc94053e01702e58f1ac5 03-Oct-2016 Mike Reed <reed@google.com> replace SkXfermode obj with SkBlendMode enum in paints

BUG=skia:5814

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714

Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135
Reviewed-on: https://skia-review.googlesource.com/2714
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/tests/ImageFilterTest.cpp
2a75e5df300a2838f943ca52a52a85a5cf69802b 22-Sep-2016 brianosman <brianosman@google.com> Add output format properties to SkImageFilter::Context

For now, this is just the color space (of the original
requesting device). This is used when constructing
intermediate rendering surfaces, so that we ensure we
land in a surface that's similar/compatible to the
final consumer of the DAG's output.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357273002

Review-Url: https://codereview.chromium.org/2357273002
/external/skia/tests/ImageFilterTest.cpp
dfe4f2e4fe5b162d4adb4486fe751f1e3b30bea7 21-Jul-2016 brianosman <brianosman@google.com> Add SkColorSpace to GrDrawContext

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2164363002

Review-Url: https://codereview.chromium.org/2164363002
/external/skia/tests/ImageFilterTest.cpp
203a993c77ea146e0a4e7f1e0c079cc79fd09167 11-Jul-2016 jbroman <jbroman@chromium.org> Handle negative scale in SkDropShadowImageFilter::onFilterNodeBounds.

Add unit tests for positive and negative scale factors for the two effects that
apply a Gaussian blur like this: blur and drop-shadow. The last two assertions
fail without the fix in SkDropShadowImageFilter.

BUG=chromium:600821
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114313002

Review-Url: https://codereview.chromium.org/2114313002
/external/skia/tests/ImageFilterTest.cpp
ab527a5bbfb1eae4f99a1435d349a44d00477d82 28-Jun-2016 egdaniel <egdaniel@google.com> Enable many more tests for Vulkan

BUG=skia:5461
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2103133002

Review-Url: https://codereview.chromium.org/2103133002
/external/skia/tests/ImageFilterTest.cpp
5878dbdf1b5d86201d299c6e07d53e35048713c7 19-May-2016 senorblanco <senorblanco@chromium.org> Image filters: implement SkImage::makeWithFilter().

This API provides a way to directly filter a subregion of an SkImage
(usually texture-backed), and returns an SkImage which may include
extra padding, along with a size to indicate the active region.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1964043002

Review-Url: https://codereview.chromium.org/1964043002
/external/skia/tests/ImageFilterTest.cpp
8b7451aaf6b1c71e9d343a4df107893db277b6aa 11-May-2016 bsalomon <bsalomon@google.com> Turn ContextInfos returned by GrContextFactory into structs.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966013002

Review-Url: https://codereview.chromium.org/1966013002
/external/skia/tests/ImageFilterTest.cpp
18f13f3673c20fec220a1594b3174f9dcab35c5d 02-May-2016 brianosman <brianosman@google.com> Remove (almost) unused read/writeFunctionPtr API.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1937053002

Review-Url: https://codereview.chromium.org/1937053002
/external/skia/tests/ImageFilterTest.cpp
4df1656f0f728ed428c3ab8f7beb19703b27c28e 29-Apr-2016 robertphillips <robertphillips@google.com> Tighten up SkSpecialSurface factory functions

This is split out of https://codereview.chromium.org/1930013002/ ((Mostly) Retract GrRenderTarget from SkGpuDevice)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1925313002

Review-Url: https://codereview.chromium.org/1925313002
/external/skia/tests/ImageFilterTest.cpp
c91fd3447e1d3452d5e43e70e371896c80645b61 25-Apr-2016 robertphillips <robertphillips@google.com> Add another dollop of sk_sp to SkSpecialImage and SkSpecialSurface

This is split out of https://codereview.chromium.org/1914883002/ (Refactor drawContext/RenderTarget creation)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1913743002

Review URL: https://codereview.chromium.org/1913743002
/external/skia/tests/ImageFilterTest.cpp
96a04f329926099f0002f97883242793ff04f61c 25-Apr-2016 reed <reed@google.com> simplify handle-affine: subclass overrides just describe their leaf behavior

added new test case (that would have failed before) of blur with a colorfilter input

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915943002

Review URL: https://codereview.chromium.org/1915943002
/external/skia/tests/ImageFilterTest.cpp
bb34a8ac59850f128d9602e629a7475e3ad1a9d2 24-Apr-2016 reed <reed@google.com> allow imagefilter to manage CTM decomposition

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908173006

Review URL: https://codereview.chromium.org/1908173006
/external/skia/tests/ImageFilterTest.cpp
3e302275b324172c845627cbd00cee8a06571baf 20-Apr-2016 robertphillips <robertphillips@google.com> Begin removing deprecated (and now, unused) ImageFilter code paths

This CL focuses on removing the Proxy objects but takes some other stuff with it.

BUG=skia:4965
TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1896383003

Review URL: https://codereview.chromium.org/1896383003
/external/skia/tests/ImageFilterTest.cpp
6b13473dd4d5915309cc2caddbab2e22f2f21d5f 15-Apr-2016 robertphillips <robertphillips@google.com> Move SkImageFilter over to storing sk_sps

This CL also removes the old bare-pointer style ctor.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1894573002

Review URL: https://codereview.chromium.org/1894573002
/external/skia/tests/ImageFilterTest.cpp
534c270465a9824893d5c9d6c5bacef7726cc389 15-Apr-2016 robertphillips <robertphillips@google.com> Update TileImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882113002

Review URL: https://codereview.chromium.org/1882113002
/external/skia/tests/ImageFilterTest.cpp
bfe11fc9a6e660f83a454b6a5f5945089a4800f3 15-Apr-2016 robertphillips <robertphillips@google.com> Update DisplacementMapEffect to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003

Committed: https://skia.googlesource.com/skia/+/a53011ef44705a091a8e24f7ea289a3f9ad759f2

Review URL: https://codereview.chromium.org/1877783003
/external/skia/tests/ImageFilterTest.cpp
47db5fe4436c924f42b05bc63f8fad833b99bfbe 15-Apr-2016 robertphillips <robertphillips@google.com> Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ )

Reason for revert:
unexpected image diffs in imagefilterscropexpand GM

Original issue's description:
> Update DisplacementMapEffect to sk_sp
>
> TBR=reed@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003
>
> Committed: https://skia.googlesource.com/skia/+/a53011ef44705a091a8e24f7ea289a3f9ad759f2

TBR=fmalita@chromium.org,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1884253004
/external/skia/tests/ImageFilterTest.cpp
a53011ef44705a091a8e24f7ea289a3f9ad759f2 15-Apr-2016 robertphillips <robertphillips@google.com> Update DisplacementMapEffect to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003

Review URL: https://codereview.chromium.org/1877783003
/external/skia/tests/ImageFilterTest.cpp
dada4dd9cf03e42369ca5b38086dba77f01a68e6 13-Apr-2016 robertphillips <robertphillips@google.com> Switch SkMatrixConvolutionImageFilter over to new onFilterImage interface

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877343002

Review URL: https://codereview.chromium.org/1877343002
/external/skia/tests/ImageFilterTest.cpp
68d9134bec16e91c4a6cde071bcaa579bc0801a7 12-Apr-2016 bsalomon <bsalomon@google.com> Make more unit tests run on Vulkan
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1885623002

Review URL: https://codereview.chromium.org/1885623002
/external/skia/tests/ImageFilterTest.cpp
21a465d7f4c5e639044e79971aeaa1194fc73078 11-Apr-2016 senorblanco <senorblanco@chromium.org> Ensure all image filter tests have "ImageFilter" somewhere in the name.

This is for convenience, so that running
out/Release/dm --match ImageFilter runs them all.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879553004

Review URL: https://codereview.chromium.org/1879553004
/external/skia/tests/ImageFilterTest.cpp
12fa47d33f1e9eb69bb20d9daad2eccfc7288944 09-Apr-2016 robertphillips <robertphillips@google.com> Update LightingImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869763002

Review URL: https://codereview.chromium.org/1869763002
/external/skia/tests/ImageFilterTest.cpp
646125114b42b24e5ada3c9f8fac53a85f9ad2a0 08-Apr-2016 robertphillips <robertphillips@google.com> Upgrade SkSpecialImage to have getTextureRef & getROPixels entry points

This more closely aligns the SkSpecialImage API with the SkImage API. In doing so it allows the image filters to handle SkImages that can sneak through while remaining encoded (e.g., if an input filter just returns a wrapped version of the source SkImage)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1861643003

Review URL: https://codereview.chromium.org/1861643003
/external/skia/tests/ImageFilterTest.cpp
ef6a47b4af1ebf621682b3398916fefb90fc912e 08-Apr-2016 robertphillips <robertphillips@google.com> Update MatrixConvolutionImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869833002

Review URL: https://codereview.chromium.org/1869833002
/external/skia/tests/ImageFilterTest.cpp
758586c7f11a6b3529bd4a1c9b4e982a0d0b0582 06-Apr-2016 bsalomon <bsalomon@google.com> Make existing unit tests only run on GL contexts

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869503002

Review URL: https://codereview.chromium.org/1869503002
/external/skia/tests/ImageFilterTest.cpp
c416912da4840af0c49bd8cdcf00044ed39500f6 06-Apr-2016 robertphillips <robertphillips@google.com> Update DropShadowImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1861843002

Review URL: https://codereview.chromium.org/1861843002
/external/skia/tests/ImageFilterTest.cpp
ae8c933ca89315c1256bcf23749b5ee5cbc0d53c 06-Apr-2016 robertphillips <robertphillips@google.com> Update SkMatrixImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1858353002

Review URL: https://codereview.chromium.org/1858353002
/external/skia/tests/ImageFilterTest.cpp
f2f1c17e331fe1e0ce695969970ecebc81e12ceb 05-Apr-2016 bsalomon <bsalomon@google.com> One signature for creating unit tests that run on premade GrContexts
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1860593002

Review URL: https://codereview.chromium.org/1860593002
/external/skia/tests/ImageFilterTest.cpp
8c0326df5f600da43a054dad3b354221dd6b790f 05-Apr-2016 robertphillips <robertphillips@google.com> Update SkXfermodeImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002

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

Review URL: https://codereview.chromium.org/1852123002
/external/skia/tests/ImageFilterTest.cpp
5605b56afa5bd89f3148b397318b616fccfd4004 05-Apr-2016 robertphillips <robertphillips@google.com> Update SkColorFilterImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1858813002

Review URL: https://codereview.chromium.org/1858813002
/external/skia/tests/ImageFilterTest.cpp
f3261afed2b2a7853a3f94a7e5b0c11683c09579 05-Apr-2016 bsalomon <bsalomon@google.com> Remove 'native' context unit test macro.

The only test ran long is GLPrograms. I halved its iteration count to preserve the runtime on devices that support GL and GLES.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1855993002

Review URL: https://codereview.chromium.org/1855993002
/external/skia/tests/ImageFilterTest.cpp
fc11b0afe0ca922a42767d4a656ed640008da1bb 05-Apr-2016 robertphillips <robertphillips@google.com> Update SkMorphology ImageFilters to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1860573002

Review URL: https://codereview.chromium.org/1860573002
/external/skia/tests/ImageFilterTest.cpp
6a93fa1a4526ba14782f7f17a73479ca5a4a8e3a 05-Apr-2016 senorblanco <senorblanco@chromium.org> Fix failed filter followed by an affects-transparent-black filter.

When an upstream filter returns null, either through failure or clipping, a downstream affects-transparent-black
filter should still produce non-transparent pixels.

This patch fixes SkColorFilterImageFilter.

Note: this will affect the results of the imagefilterscropexpand GM.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1844593002

Review URL: https://codereview.chromium.org/1844593002
/external/skia/tests/ImageFilterTest.cpp
3b37545bc594a96de45eba62dea0ce478750f2a9 04-Apr-2016 mtklein <mtklein@google.com> Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ )

Reason for revert:
Used by Chrome.

c:\b\build\slave\workdir\build\src\cc\playback\compositing_display_item.cc(53): error C2039: 'GetFlattenableType': is not a member of 'SkColorFilter'
c:\b\build\slave\workdir\build\src\third_party\skia\include\core\skshader.h(19): note: see declaration of 'SkColorFilter'
c:\b\build\slave\workdir\build\src\cc\playback\compositing_display_item.cc(53): error C3861: 'GetFlattenableType': identifier not found

Original issue's description:
> Delete SkFlattenable::Type
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834303003
>
> Committed: https://skia.googlesource.com/skia/+/99d9231f6a4cb6b85b8637e9d8ae32f8bd7c466f

TBR=reed@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1853383002
/external/skia/tests/ImageFilterTest.cpp
99d9231f6a4cb6b85b8637e9d8ae32f8bd7c466f 04-Apr-2016 msarett <msarett@google.com> Delete SkFlattenable::Type

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834303003

Review URL: https://codereview.chromium.org/1834303003
/external/skia/tests/ImageFilterTest.cpp
4ba94e26106a4ecab4d3841d702b57487b82334e 04-Apr-2016 robertphillips <robertphillips@google.com> Switch internal testing ImageFilters over to new onFilterImage interface
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854133002

Review URL: https://codereview.chromium.org/1854133002
/external/skia/tests/ImageFilterTest.cpp
b591c77c3770a3216ce75c8b77f1017c917db1f9 04-Apr-2016 robertphillips <robertphillips@google.com> Revert of Update SkXfermodeImageFilter to sk_sp (patchset #4 id:60001 of https://codereview.chromium.org/1852123002/ )

Reason for revert:
Chrome-land compilation failure.

Original issue's description:
> Update SkXfermodeImageFilter to sk_sp
>
> TBR=reed@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002
>
> Committed: https://skia.googlesource.com/skia/+/3bc969264d4720d67f0b137552b3777a03b431a8

TBR=fmalita@chromium.org,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1852273002
/external/skia/tests/ImageFilterTest.cpp
3bc969264d4720d67f0b137552b3777a03b431a8 04-Apr-2016 robertphillips <robertphillips@google.com> Update SkXfermodeImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002

Review URL: https://codereview.chromium.org/1852123002
/external/skia/tests/ImageFilterTest.cpp
43c2ad4e8f9ed84f46caa57e0b471f7393f1280a 04-Apr-2016 robertphillips <robertphillips@google.com> Update internal testing ImageFilters to sk_sp

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854023003

Review URL: https://codereview.chromium.org/1854023003
/external/skia/tests/ImageFilterTest.cpp
6e7025ab13dfc4f0037233e67b4b8e18d6dfd1e1 04-Apr-2016 robertphillips <robertphillips@google.com> Update SkBlurImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852743002

Review URL: https://codereview.chromium.org/1852743002
/external/skia/tests/ImageFilterTest.cpp
60c9b58b3214b0154c931656e91e39b230e987d8 03-Apr-2016 reed <reed@google.com> change flattenable factory to return sk_sp

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1855733002

Review URL: https://codereview.chromium.org/1855733002
/external/skia/tests/ImageFilterTest.cpp
549c8991959333e5c0f53faebcbbd5d6bc8f6a56 01-Apr-2016 robertphillips <robertphillips@google.com> Update SkImageSource to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842243002

Review URL: https://codereview.chromium.org/1842243002
/external/skia/tests/ImageFilterTest.cpp
51a315eff9b86bd60e7884240c4efc199129d37a 31-Mar-2016 robertphillips <robertphillips@google.com> Update SkOffsetImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842193002

Review URL: https://codereview.chromium.org/1842193002
/external/skia/tests/ImageFilterTest.cpp
2238c9dbca4b791edc512957728a18ce14d55912 30-Mar-2016 robertphillips <robertphillips@google.com> Update SkMergeImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1847583002

Review URL: https://codereview.chromium.org/1847583002
/external/skia/tests/ImageFilterTest.cpp
491fb17cab07574a9d5656c1c97ad0acc3af5c70 30-Mar-2016 robertphillips <robertphillips@google.com> Update SkComposeImageFilter to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1841233002

Review URL: https://codereview.chromium.org/1841233002
/external/skia/tests/ImageFilterTest.cpp
372177ee115d46dfb5bfb881a408e6c37ae83678 30-Mar-2016 robertphillips <robertphillips@google.com> Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002

Committed: https://skia.googlesource.com/skia/+/a33cf07a2273315363c0b6fb5d3ce811742f5a85

Review URL: https://codereview.chromium.org/1842793002
/external/skia/tests/ImageFilterTest.cpp
890579051d4096a8f769eadb9cde3f931d7abd7c 30-Mar-2016 djsollen <djsollen@google.com> Revert of Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp (patchset #6 id:100001 of https://codereview.chromium.org/1842793002/ )

Reason for revert:
This CL is causing the autoroll into Chromium & google3 to fail.

Original issue's description:
> Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp
>
> TBR=reed@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002
>
> Committed: https://skia.googlesource.com/skia/+/a33cf07a2273315363c0b6fb5d3ce811742f5a85

TBR=fmalita@chromium.org,reed@google.com,robertphillips@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1837293003
/external/skia/tests/ImageFilterTest.cpp
a33cf07a2273315363c0b6fb5d3ce811742f5a85 29-Mar-2016 robertphillips <robertphillips@google.com> Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842793002

Review URL: https://codereview.chromium.org/1842793002
/external/skia/tests/ImageFilterTest.cpp
cfb6bdf767796c950f89985445738d2d8e7f12b0 29-Mar-2016 reed <reed@google.com> switch xfermodes over to sk_sp

waiting on https://codereview.chromium.org/1835163002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1832223002

Review URL: https://codereview.chromium.org/1832223002
/external/skia/tests/ImageFilterTest.cpp
9d524f22bfde5dc3dc8f48e1be39bdebd3bb0304 29-Mar-2016 halcanary <halcanary@google.com> Style bikeshed - remove extraneous whitespace

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1842753002

Review URL: https://codereview.chromium.org/1842753002
/external/skia/tests/ImageFilterTest.cpp
5ff17b13524eea03e4b672ee3b3a49b649dd09fb 28-Mar-2016 robertphillips <robertphillips@google.com> Swap SkPictureImageFilter's factories over to smart pointers

A trial balloon before converting the rest

This requires https://codereview.chromium.org/1836443003/ (add SK_SUPPORT_LEGACY_IMAGEFILTER_PTR flag for future skia CL) to land in Chromium first
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1831323003

Review URL: https://codereview.chromium.org/1831323003
/external/skia/tests/ImageFilterTest.cpp
fe63045f075165b1be5d3e7fc5c710021d85f53b 25-Mar-2016 reed <reed@google.com> move setshader to sk_sp, re-using SK_SUPPORT_LEGACY_CREATESHADER_PTR

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829303002

Review URL: https://codereview.chromium.org/1829303002
/external/skia/tests/ImageFilterTest.cpp
2302de920e5434809bd0e85b871a6e002856dfdb 24-Mar-2016 robertphillips <robertphillips@google.com> Switch new SkImageFilter internal methods over to sk_sp

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1826893002

Review URL: https://codereview.chromium.org/1826893002
/external/skia/tests/ImageFilterTest.cpp
e8f3062a36d3682f4019309a32b5b84dc9eddf8c 24-Mar-2016 reed <reed@google.com> switch surface to sk_sp

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1817383002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1817383002
/external/skia/tests/ImageFilterTest.cpp
297f7ce2bb6184849adf0e5479e92f76764ec76a 23-Mar-2016 senorblanco <senorblanco@chromium.org> Make a generic list of filters for use in ImageFilterTests.

Factor list of image filters out of one test for re-use elsewhere.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829913002

Review URL: https://codereview.chromium.org/1829913002
/external/skia/tests/ImageFilterTest.cpp
d053ce9c54d4e5937a142278359e5a4cde18095e 22-Mar-2016 reed <reed@google.com> Reland of [2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.o… (patchset #1 id:1 of https://codereview.chromium.org/1821103004/ )

Reason for revert:
guard has now landed in chrome

Original issue's description:
> Revert of Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.o… (patchset #3 id:40001 of https://codereview.chromium.org/1825073002/ )
>
> Reason for revert:
> CreateModeFilter not compiling
>
> Original issue's description:
> > Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )"
> >
> > Fixed legacy withColorFilter to call new(er) make method
> >
> > This reverts commit 1eb81db650d31f50be67b12d60c4f9e7dd08432f.
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825073002
> >
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/4c9776b046dd5e9e46e2d1ce35154855c8fcb381
>
> TBR=
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d6889293dd0942f27f9593f679722c956831f2c4

TBR=
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1827433002
/external/skia/tests/ImageFilterTest.cpp
d6889293dd0942f27f9593f679722c956831f2c4 22-Mar-2016 reed <reed@google.com> Revert of Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.o… (patchset #3 id:40001 of https://codereview.chromium.org/1825073002/ )

Reason for revert:
CreateModeFilter not compiling

Original issue's description:
> Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )"
>
> Fixed legacy withColorFilter to call new(er) make method
>
> This reverts commit 1eb81db650d31f50be67b12d60c4f9e7dd08432f.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825073002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/4c9776b046dd5e9e46e2d1ce35154855c8fcb381

TBR=
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1821103004
/external/skia/tests/ImageFilterTest.cpp
4c9776b046dd5e9e46e2d1ce35154855c8fcb381 22-Mar-2016 reed <reed@google.com> Revert[2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )"

Fixed legacy withColorFilter to call new(er) make method

This reverts commit 1eb81db650d31f50be67b12d60c4f9e7dd08432f.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825073002

TBR=

Review URL: https://codereview.chromium.org/1825073002
/external/skia/tests/ImageFilterTest.cpp
1eb81db650d31f50be67b12d60c4f9e7dd08432f 22-Mar-2016 reed <reed@google.com> Revert of switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.org/1822623002/ )

Reason for revert:
need to fix unguarded makeWithFilter

Original issue's description:
> switch colorfilters to sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822623002
>
> Committed: https://skia.googlesource.com/skia/+/f809d7687a4fb7b88b651b046da2bc0035d6aa09

TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1820303002
/external/skia/tests/ImageFilterTest.cpp
f809d7687a4fb7b88b651b046da2bc0035d6aa09 22-Mar-2016 reed <reed@google.com> switch colorfilters to sk_sp

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822623002

Review URL: https://codereview.chromium.org/1822623002
/external/skia/tests/ImageFilterTest.cpp
e5e79840ef38ab1d3f03abcf1b2df66fb9940018 21-Mar-2016 senorblanco <senorblanco@chromium.org> Change signatures of filter bounds methods to return a rect.

Change filterBounds(), onFilterBounds() and onFilterNodeBounds() and computeFastBounds() to
return the destination rectangle. There was no code path that could
return false, and returning rects by value is ok now.

BUG=skia:5094
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1823573003

Review URL: https://codereview.chromium.org/1823573003
/external/skia/tests/ImageFilterTest.cpp
17a652017a0243c57c954662e08a7976b9990fee 21-Mar-2016 jbroman <jbroman@chromium.org> Make SkComposeImageFilter::onFilterImage filter the bounds given to the inner filter.

Previously, the bounds requested by the caller would be passed to both the
inner and outer filter, but since the outer filter may move pixels, this is not
necessarily sufficient to supply the pixels required by the outer filter to fill
the bounds.

Unit test included.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813373002

Review URL: https://codereview.chromium.org/1813373002
/external/skia/tests/ImageFilterTest.cpp
ca2622ba051829fed5f30facd74c5b41cd4b931c 18-Mar-2016 reed <reed@google.com> return pictures as sk_sp

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811703002

Review URL: https://codereview.chromium.org/1811703002
/external/skia/tests/ImageFilterTest.cpp
37bd7c3aca66697fff2db79c21771a0b3cbe3b4c 17-Mar-2016 robertphillips <robertphillips@google.com> Switch SkSpecialImage & SkSpecialSurface classes over to smart pointers

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812023002

Review URL: https://codereview.chromium.org/1812023002
/external/skia/tests/ImageFilterTest.cpp
0e3129d734212089f872f0e7de8f2537861a3f89 17-Mar-2016 jbroman <jbroman@chromium.org> Fix pointer aliasing bug in SkImageFilter::computeFastBounds.

Since src and dst are explicitly allowed to alias (according to a comment in
SkPaint.h), it is problematic to have the first input filter mutate dst, since
we still need access to the previous value to provide to the other input
filters.

To resolve this, SkImageFilter::computeFastBounds makes a copy of src on the
stack, and passes that to its inputs instead.

Also add a unit test that would have detected the issue.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1800263002

Review URL: https://codereview.chromium.org/1800263002
/external/skia/tests/ImageFilterTest.cpp
9ce9d6772df650ceb0511f275e1a83dffa78ff72 17-Mar-2016 reed <reed@google.com> update callsites for Make image factories

not forced yet, as we still have the build-guard. waiting on chrome CL

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1810813003

TBR=

Review URL: https://codereview.chromium.org/1810813003
/external/skia/tests/ImageFilterTest.cpp
bf680c30a280d4d7b3b8d5fedf23defff348cb50 17-Mar-2016 senorblanco <senorblanco@chromium.org> Image filters: fix the zero-sigma fast path in SkBlurImageFilter.

The fast path was not correctly taking the input srcOffset into account.

BUG=595324
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1807673005

Review URL: https://codereview.chromium.org/1807673005
/external/skia/tests/ImageFilterTest.cpp
1a9b9640843a64af8d9d90337ec3b3fea663196a 13-Mar-2016 reed <reed@google.com> Reland of "more shader-->sp conversions (patchset #5 id:80001 of https://codereview.chromium.org/1789633002/ )"

This reverts commit 9283d20afc27571f7a871d1bd1100dd5df584941.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1793303002

Review URL: https://codereview.chromium.org/1793303002
/external/skia/tests/ImageFilterTest.cpp
9283d20afc27571f7a871d1bd1100dd5df584941 13-Mar-2016 reed <reed@google.com> Revert of more shader-->sp conversions (patchset #5 id:80001 of https://codereview.chromium.org/1789633002/ )

Reason for revert:
seems to have changed pictureshadertile

Original issue's description:
> more shader-->sp conversions
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789633002
>
> Committed: https://skia.googlesource.com/skia/+/ce563cdd48ec7ce4e0420dd88760df9be9dba50c

TBR=fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1790353002
/external/skia/tests/ImageFilterTest.cpp
ce563cdd48ec7ce4e0420dd88760df9be9dba50c 13-Mar-2016 reed <reed@google.com> more shader-->sp conversions

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789633002

Review URL: https://codereview.chromium.org/1789633002
/external/skia/tests/ImageFilterTest.cpp
4418dbac3386f26c8da62ab242be9c178961eb18 07-Mar-2016 robertphillips <robertphillips@google.com> Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated

This CL relies on https://codereview.chromium.org/1757983002/ (Add SkSpecialImage-based methods to SkImageFilter)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1762013002

TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/1762013002
/external/skia/tests/ImageFilterTest.cpp
5ec26ae9bfca635ccc98283aad5deda11519d826 25-Feb-2016 bsalomon <bsalomon@google.com> Move Budgeted enum out of SkSurface, use in GrTextureProvider

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005

Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1728093005
/external/skia/tests/ImageFilterTest.cpp
bd500f09ce5b1ca464431d693f9ec5da60a59230 25-Feb-2016 bsalomon <bsalomon@google.com> Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider (patchset #6 id:100001 of https://codereview.chromium.org/1728093005/ )

Reason for revert:
Need workaround for chrome to build

Original issue's description:
> Move Budgeted enum out of SkSurface, use in GrTextureProvider
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
> DOCS_PREVIEW= https://skia.org/?cl=1728093005
>
> Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1734043002
/external/skia/tests/ImageFilterTest.cpp
57599fe6c0336feaeeeb9b1996e77b70219b483c 25-Feb-2016 bsalomon <bsalomon@google.com> Move Budgeted enum out of SkSurface, use in GrTextureProvider

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005
DOCS_PREVIEW= https://skia.org/?cl=1728093005

Review URL: https://codereview.chromium.org/1728093005
/external/skia/tests/ImageFilterTest.cpp
48e78468f5f6b900d476e616bdb1ba457c8f0b2a 17-Feb-2016 robertphillips <robertphillips@google.com> Mark existing image filter entry points that will be going away with Deprecated
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1709753002

Review URL: https://codereview.chromium.org/1709753002
/external/skia/tests/ImageFilterTest.cpp
2afbe23753bf97402a47408c83107042eea3c476 07-Feb-2016 mtklein <mtklein@chromium.org> msan: initialize buffer BlurLargeImage blurs

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/1676103002
/external/skia/tests/ImageFilterTest.cpp
8610002ff81fb5d81d1b7c312b5d0a8b05b41e13 01-Feb-2016 bsalomon <bsalomon@google.com> Move SkColorMatrixFilter implementation to core.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648933002

Review URL: https://codereview.chromium.org/1648933002
/external/skia/tests/ImageFilterTest.cpp
4e23cdaa6b892afeaa150c6d74099dc6c2065b7e 11-Jan-2016 reed <reed@google.com> remove imagefilter::sizeconstraint

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1571033002

Review URL: https://codereview.chromium.org/1571033002
/external/skia/tests/ImageFilterTest.cpp
77b6ba3b6e23b84a3a4f3a62812e4a9eb6de4c23 08-Jan-2016 ajuma <ajuma@chromium.org> Implement an SkPaint-based image filter

This implements SkPaintImageFilter, and is intended to replace
SkRectShaderImageFilter. By allowing a paint and not just a
shader as input, this allows consumers to control dithering.

BUG=skia:4780
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556553002

Review URL: https://codereview.chromium.org/1556553002
/external/skia/tests/ImageFilterTest.cpp
45eefcfec26ee48c0b2ee1d316aae3c3dc529145 05-Jan-2016 bsalomon <bsalomon@google.com> Add null check for bmp->tex result in SkImageFilter::filterInputGpu

BUG=chromium:570479
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1555333002

Review URL: https://codereview.chromium.org/1555333002
/external/skia/tests/ImageFilterTest.cpp
da420b976e61071cfe5de10556b4b23e519091d6 16-Dec-2015 reed <reed@google.com> Reland of move drawSprite from canvas (patchset #1 id:1 of https://codereview.chromium.org/1529803004/ )

Reason for revert:
guard has landed in chrome

Original issue's description:
> Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ )
>
> Reason for revert:
> need to remove an override in chrome
>
> Original issue's description:
> > remove drawSprite from canvas
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1
>
> TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/32704674f64cb6a14356dfebe060cd3484c06cc7

TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1530203002
/external/skia/tests/ImageFilterTest.cpp
32704674f64cb6a14356dfebe060cd3484c06cc7 16-Dec-2015 reed <reed@google.com> Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ )

Reason for revert:
need to remove an override in chrome

Original issue's description:
> remove drawSprite from canvas
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1

TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1529803004
/external/skia/tests/ImageFilterTest.cpp
4657ce2324ea197507c4ba728d81138f56da13b1 16-Dec-2015 reed <reed@google.com> remove drawSprite from canvas

BUG=skia:

Review URL: https://codereview.chromium.org/1534443003
/external/skia/tests/ImageFilterTest.cpp
db64af3b178a19ecb47d2b9a373113687d8921fd 09-Dec-2015 senorblanco <senorblanco@chromium.org> Fix filter primitive bounds computations.

Make each filter responsible for expanding its destination
bounds. Previously, we were using a union of all
intermediate bounds sizes via join() calls in many image
filters' computeFastBounds(), due to the fact that those
filters could only produce bitmaps the same size as their
inputs. Now, we compute optimal bounds for each filter as
follows:

1) Pass the (unmodified) clip bounds to the root node
of the DAG in the first recursive call to onFilterImage()
as the Context's fClipBounds.

2) Reverse-map the clip: when recursing up the DAG in
filterInput[GPU](), apply filter-specific expansion to the
clip by calling calling onFilterNodeBounds(... kReverse).
This allows upstream nodes to have a clip that respects the
current node's requirements. This is done via helper
function mapContext().

3) Forward-map the source bitmap: just prior to applying
the crop rect in applyCropRect(), we determine the filter's
preferred bounds by mapping the source bitmap bounds
forwards via onFilterNodeBounds(..., kForward).

NOTE: GMs affected by this change:
fast_slow_blurimagefilter: fast and slow paths now produce the same result
spritebitmap: drawSprite() and drawBitmap() paths now produce the same result
filterfastbounds: fast bounds are optimized; all drop-shadow results now appear
apply-filter: snug and not-snug cases give same results
dropshadowimagefilter: drawSprite() results now show shadows
draw-with-filter: no artifacts on erode edges; blur edges no longer clipped
displacement, imagefiltersbase, imagefiltersclipped, imagefilterscropexpand, imagefiltersscaled, matriximagefilter,
resizeimagefilter, localmatriximagefilter, testimagefilters: fixed incorrect clipping
imagefilterstransformed, morphology: no artifacts on erode edges

BUG=skia:1062,skia:3194,skia:3939,skia:4337,skia:4526

Review URL: https://codereview.chromium.org/1308703007
/external/skia/tests/ImageFilterTest.cpp
1530283c483cb88aa725bce50a6d193dd00ee570 01-Dec-2015 kkinnunen <kkinnunen@nvidia.com> Generate list of GPU contexts outside tests

Use DEF_GPUTEST_FOR_*_CONTEXT macros to obtain the
test GPU context.

Makes changing the context -related classes easier,
since not all tests need to be changed.

BUG=skia:2992

Review URL: https://codereview.chromium.org/1448873002
/external/skia/tests/ImageFilterTest.cpp
8444913d2c32ceca8a0f22c9dd7537c615c39af7 25-Nov-2015 senorblanco <senorblanco@chromium.org> Don't use SkRect::MakeLargest() for clip bounds in image filter tests.

Much of the Skia code dealing with clip bounds does not handle
overflow, so if we start doing any math on these rects, the code will
break. Use explicit reasonable values instead.

BUG=skia:

Review URL: https://codereview.chromium.org/1479563002
/external/skia/tests/ImageFilterTest.cpp
4a24398391536f7b176b44a8c45dc288655b4adb 25-Nov-2015 senorblanco <senorblanco@chromium.org> Fix SkMergeImageFilter crop rect computation.

The crop rect should be applied to the union of the input bounds, not
to the src input's bounds. These are often the same, since the saveLayer
offscreen size is computed as the union of all the required bounds, but
is not correct if the input primitive is not used (e.g., if all inputs
are connected to SkImageSources). But this will change as we
move to more accurate intermediate bounds computations (getting rid of the join() hacks as described in skbug.com/3194).

Since we can't know this without actually processing the inputs,
split SkMergeImageFilter processing into:

- filter all inputs
- applyCropRect to the union'ed bounds
- allocate the destination
- do the merge

BUG=3194

Review URL: https://codereview.chromium.org/1475793002
/external/skia/tests/ImageFilterTest.cpp
c9b5f8b1522e72449d704d30ed6aee4fc6211ee8 22-Oct-2015 reed <reed@google.com> tunnel down texture-size-constraint to imagefilters

BUG=skia:

Review URL: https://codereview.chromium.org/1421493003
/external/skia/tests/ImageFilterTest.cpp
88d064d0e481949184305c7b1d6b282dddffac39 12-Oct-2015 reed <reed@google.com> add applyFilter() to SkImage

Result:
- clients can get a filtered version of an image without having to setup a temp drawing environment
- for some cases, the process is more efficient even than (deprecated) drawSprite, since there is no need to draw/copy the result

Impl:
- made Proxy virtual so we don't need to have an existing device to use it

This, in conjunction with LocalMatrixImageFilter, should allow us to simplify and optimize ApplyImageFilter() in cc/output/gl_renderer.cc

BUG=skia:

Review URL: https://codereview.chromium.org/1390913005
/external/skia/tests/ImageFilterTest.cpp
f028003cf4429813ae1ac6624efa51ecbb062ed3 12-Oct-2015 reed <reed@google.com> change more effects to only expose factories

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1395403002
/external/skia/tests/ImageFilterTest.cpp
5ea95df02de9cd774d0b84d1341599bbd9c0d8db 06-Oct-2015 reed <reed@google.com> Revert "Revert of factories should return baseclass, allowing the impl to specialize (patchset #4 id:60001 of https://codereview.chromium.org/1390523005/ )"

This reverts commit 95376a0dde3cdf414eb97a20cef3af19ed7e0151.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1389083002
/external/skia/tests/ImageFilterTest.cpp
95376a0dde3cdf414eb97a20cef3af19ed7e0151 06-Oct-2015 schenney <schenney@chromium.org> Revert of factories should return baseclass, allowing the impl to specialize (patchset #4 id:60001 of https://codereview.chromium.org/1390523005/ )

Reason for revert:
Breaks Chrome with this link error: ../../third_party/skia/include/effects/SkMorphologyImageFilter.h:75: error: undefined reference to 'SkMorphologyImageFilter::SkMorphologyImageFilter(int, int, SkImageFilter*, SkImageFilter::CropRect const*)'
../../third_party/skia/include/effects/SkMorphologyImageFilter.h:104: error: undefined reference to 'SkMorphologyImageFilter::SkMorphologyImageFilter(int, int, SkImageFilter*, SkImageFilter::CropRect const*)'

Presumably due to code in third_party/WebKit/Source/platform/graphics/filters/FEMorphology.cpp that contains:
#include "SkMorphologyImageFilter.h"

...

if (m_type == FEMORPHOLOGY_OPERATOR_DILATE)
return adoptRef(SkDilateImageFilter::Create(radiusX, radiusY, input.get(), &rect));
return adoptRef(SkErodeImageFilter::Create(radiusX, radiusY, input.get(), &rect));

Original issue's description:
> factories should return baseclass, allowing the impl to specialize
>
> waiting on https://codereview.chromium.org/1386163002/# to land
>
> BUG=skia:4424
>
> Committed: https://skia.googlesource.com/skia/+/80a6dcaa1b757826ed7414f64b035d512d9ccbf8

TBR=senorblanco@google.com,robertphillips@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4424

Review URL: https://codereview.chromium.org/1389063002
/external/skia/tests/ImageFilterTest.cpp
80a6dcaa1b757826ed7414f64b035d512d9ccbf8 06-Oct-2015 reed <reed@google.com> factories should return baseclass, allowing the impl to specialize

waiting on https://codereview.chromium.org/1386163002/# to land

BUG=skia:4424

Review URL: https://codereview.chromium.org/1390523005
/external/skia/tests/ImageFilterTest.cpp
5598b63cd2443a608a74a222d0206bb2455383b7 15-Sep-2015 fmalita <fmalita@chromium.org> Convert unit tests, GMs from SkBitmapSource to SkImagesource

This removes SkBitmapSource clients within Skia.

http://crrev.com/1334173004 does the same for Blink, so we should be
able to remove SkBitmapSource in a follow-up.

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

Review URL: https://codereview.chromium.org/1343123002
/external/skia/tests/ImageFilterTest.cpp
23cb88c52cd8bb7a0de80e2c85280375425c5189 15-Sep-2015 fmalita <fmalita@chromium.org> Speculative fix for uninitialized bitmap mem in ImageFilterTest

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1341923003
/external/skia/tests/ImageFilterTest.cpp
cd56f812e09fdd8f8322c5c28cbc4423a74b9a0a 14-Sep-2015 fmalita <fmalita@chromium.org> SkImageSource

Blink is migrating away from SkBitmaps, so we need an SkImage-based
SkImageFilter source. This is pretty much a 1-1 equivalent of
SkBitmapSource.

To avoid duplication, relocate the SkImage deserialization logic
from SkPictureData to SkReadBuffer.

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

Review URL: https://codereview.chromium.org/1343703005
/external/skia/tests/ImageFilterTest.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/tests/ImageFilterTest.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/tests/ImageFilterTest.cpp
0abdf766d395ed3b7059511425f431589eca05f6 20-Aug-2015 senorblanco <senorblanco@chromium.org> Reland of Implement canComputeFastBounds() for image filters. (patchset #1 id:1 of https://codereview.chromium.org/1300403003/ )

Reason for revert:
The Mac compile issue was fixed here: https://chromium.googlesource.com/chromium/src/+/fdd331a42ae0b9a6909a121020735161ab61c6e5

Original issue's description:
> Revert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001 of https://codereview.chromium.org/1296943002/ )
>
> Reason for revert:
> This causes a syntax error.
>
> http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio
>
> Original issue's description:
> > Implement canComputeFastBounds() for image filters.
> >
> > Image filters have never implemented this check, which means that
> > filters which affect transparent black falsely claim they can compute
> > their bounds.
> >
> > Implemented an affectsTransparentBlack() virtual for image
> > filters, and a similar helper function for color filters.
> >
> > This will affect the following GMs: imagefiltersscaled
> > (lighting, perlin noise now filter to clip),
> > colorfilterimagefilter (new test case), imagefiltersclipped
> > (perlin noise now filters to clip).
> >
> > Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
> > a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
> > no impact from this change, but will watch the perf bots carefully.
> >
> > BUG=4212
> >
> > Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb
>
> TBR=reed@google.com,senorblanco@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=4212
>
> Committed: https://skia.googlesource.com/skia/+/12d8472d31ea5edb636d7d5214db253570115c40

TBR=reed@google.com,herb@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=4212

Review URL: https://codereview.chromium.org/1301823005
/external/skia/tests/ImageFilterTest.cpp
12d8472d31ea5edb636d7d5214db253570115c40 20-Aug-2015 herb <herb@google.com> Revert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001 of https://codereview.chromium.org/1296943002/ )

Reason for revert:
This causes a syntax error.

http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio

Original issue's description:
> Implement canComputeFastBounds() for image filters.
>
> Image filters have never implemented this check, which means that
> filters which affect transparent black falsely claim they can compute
> their bounds.
>
> Implemented an affectsTransparentBlack() virtual for image
> filters, and a similar helper function for color filters.
>
> This will affect the following GMs: imagefiltersscaled
> (lighting, perlin noise now filter to clip),
> colorfilterimagefilter (new test case), imagefiltersclipped
> (perlin noise now filters to clip).
>
> Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
> a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
> no impact from this change, but will watch the perf bots carefully.
>
> BUG=4212
>
> Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb

TBR=reed@google.com,senorblanco@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=4212

Review URL: https://codereview.chromium.org/1300403003
/external/skia/tests/ImageFilterTest.cpp
915881fe743f9a789037695f543bc6ea189cd0cb 20-Aug-2015 senorblanco <senorblanco@chromium.org> Implement canComputeFastBounds() for image filters.

Image filters have never implemented this check, which means that
filters which affect transparent black falsely claim they can compute
their bounds.

Implemented an affectsTransparentBlack() virtual for image
filters, and a similar helper function for color filters.

This will affect the following GMs: imagefiltersscaled
(lighting, perlin noise now filter to clip),
colorfilterimagefilter (new test case), imagefiltersclipped
(perlin noise now filters to clip).

Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding
a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show
no impact from this change, but will watch the perf bots carefully.

BUG=4212

Review URL: https://codereview.chromium.org/1296943002
/external/skia/tests/ImageFilterTest.cpp
ed7cf273226ca5818a9d58b0f9183d665bb1ff58 17-Jul-2015 senorblanco <senorblanco@chromium.org> Now that the SkImageFilter::CropRect crop edges refer to
width & height, name them appropriately.

BUG=240827

Review URL: https://codereview.chromium.org/1234873005
/external/skia/tests/ImageFilterTest.cpp
3d32d768cd8b66c49c070495c08f7933b9dd2423 13-Jul-2015 robertphillips <robertphillips@google.com> Add new SkPoint3 class

The existing Light filter and the upcoming Lighting Shader both need a Point3 class

Review URL: https://codereview.chromium.org/1229693009
/external/skia/tests/ImageFilterTest.cpp
24d2a7b463d585f9300ceac946431e822531d504 13-Jul-2015 senorblanco <senorblanco@chromium.org> Fix for partially-specified crop rects.

When only the left or top edge of a crop rect is given, the
right and bottom should be computed based on the incoming width
and height, not based on the crop rect's width & height. This
complies more accurately with SVG semantics.

BUG=240827

Review URL: https://codereview.chromium.org/1232873002
/external/skia/tests/ImageFilterTest.cpp
74f681dce2fbadd481596aea15afb3e0fb36ceff 23-Jun-2015 bsalomon <bsalomon@google.com> Make SkGpuDevice know its alpha type

Make SkImage_Gpu snapshots opaque if surface is opaque.

BUG=skia:3965

Review URL: https://codereview.chromium.org/1205643002
/external/skia/tests/ImageFilterTest.cpp
efbffedd68636e94d4379e84a2585bce80f6fb8f 22-Jun-2015 robertphillips <robertphillips@google.com> Clean up usage of SkSurfaceProps

This CL continues cleaning up Skia's usage of SkSurfaceProps. It:

Removes the duplicate SkSurfaceProps object from SkImageFilter::Proxy.

Removes a dispreferred ctor from SkCanvas

Removes the initForRootLayer entry point from SkDevice (since the root device and the canvas should always have the same pixel geometry now).

Review URL: https://codereview.chromium.org/1201983006
/external/skia/tests/ImageFilterTest.cpp
9a53fd7c41554630124522f4b6eedc16912abbb7 22-Jun-2015 robertphillips <robertphillips@google.com> Begin kLegacyFontHost_InitType cleanup

This CL starts the process of pushing kLegacyFontHost_InitType-type SkSurfaceProps up the call stack and out of Skia. It:

Gets rid of the default SkBaseDevice ctor. This means everyone has to always hand an explicit SkSurfaceProps to it.

It makes public the SkBitmapDevice creation methods that require SkSurfaceProps.

Removes (in Skia's code base) all SkBitmapDevice ctor calls w/o SkSurfaceProps.

Makes the "recording" canvases (e.g., pdf, svg, xps) explicitly not use kLegacyFontHost_InitType.

Replicates the creating canvas/device's flags on saveLayer devices

BUG=skia:3934

Review URL: https://codereview.chromium.org/1204433002
/external/skia/tests/ImageFilterTest.cpp
446ee67fda73b11281b8e28a68edec811347c0c5 16-Jun-2015 hendrikw <hendrikw@chromium.org> skia: Add runtime option to disable picture IO security precautions

Replaced the compile time file IO security setting with a runtime setting.

Unfortunately the setting is global.

Review URL: https://codereview.chromium.org/1183853003
/external/skia/tests/ImageFilterTest.cpp
2c55d7b7f3c2c834085d019bf6b1519b315c8aa1 09-Jun-2015 reed <reed@google.com> remove subclassing from ImageFilter::Proxy

BUG=skia:

Review URL: https://codereview.chromium.org/1172693002
/external/skia/tests/ImageFilterTest.cpp
d8b57717793f069db2ccd7c8174d0822bd7de6e1 20-May-2015 fs <fs@opera.com> Don't fail SkMergeImageFilter if one of the inputs are empty

If one of the inputs to a SkMergeImageFilter was clipped away or
otherwise caused the filterImage(...) invocation for it to return
false, the entire effect would be "failed" and return false --
regardless of if it had produced a result or not.
Instead of returning false directly if filterImage(...) for a source
returned false, consider all the inputs, and then only return false if
all of them do.

BUG=chromium:489046

Review URL: https://codereview.chromium.org/1133523006
/external/skia/tests/ImageFilterTest.cpp
c8e934007a48465e584cdeed9ef02077d3cd5451 21-Apr-2015 senorblanco <senorblanco@chromium.org> Yet more ASAN fixes.

More nullptr checks for factories I have added.
Other checks more Yoda-like I have made. (Skia style this is.)

BUG=skia:

Review URL: https://codereview.chromium.org/1086393004
/external/skia/tests/ImageFilterTest.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}

NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
/external/skia/tests/ImageFilterTest.cpp
8c874eee943bdea0fab5b4d2707083c863e37c55 20-Mar-2015 senorblanco <senorblanco@chromium.org> Move SkMatrixImageFilter into core, and add a factory fn for it.

BUG=skia:

Review URL: https://codereview.chromium.org/1011273003
/external/skia/tests/ImageFilterTest.cpp
24e06d5244ae96e440410e1d76e039983b2efac9 18-Mar-2015 senorblanco <senorblanco@chromium.org> Remove uniqueID from all filter serialization.

(This is essentially a revert of https://codereview.chromium.org/503833002/.)

This was necessary back when SkPaint was flattened even for in-process use. Now that we only flatten SkPaint for cross-process use, there's no need to serialize UniqueIDs.

Note: SkDropShadowImageFilter is being constructed with a croprect and UniqueID (of 0) in Blink. I've made the uniqueID param default to 0 temporarily, until this rolls in and Blink can be changed. (Blink can't be changed first, since unlike the other filters, there's no constructor that takes a cropRect but not a uniqueID.)

BUG=skia:

Review URL: https://codereview.chromium.org/1019493002
/external/skia/tests/ImageFilterTest.cpp
93a1215fe0ab007ce941c721f1fd3e9dcb5d4754 16-Mar-2015 reed <reed@google.com> SkPaint::FilterLevel -> SkFilterQuality

clone (+rebase) of https://codereview.chromium.org/1009183002/

BUG=skia:
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/1014533004
/external/skia/tests/ImageFilterTest.cpp
cedc36f18b2254c5ee21f6348124886b6db4f4c2 08-Mar-2015 reed <reed@google.com> Use ComposColorFilter to collaps hierarchy (when possible).

Clarify asColorFilter ...
1. Rename to isColorFilterNode for DAG reduction
2. Add asAColorFilter for removing the imagefilter entirely (future use-case)

Need layouttest rebaseline suppression before this can land in chrome...
https://codereview.chromium.org/984023004/

BUG=skia:

Review URL: https://codereview.chromium.org/982933002
/external/skia/tests/ImageFilterTest.cpp
a9d9a392380952006303d83c35a63a32dffd0b36 06-Mar-2015 kkinnunen <kkinnunen@nvidia.com> Read pixels in BGRA non-premul mode in few tests

The tests assert on Sk_ColorGREEN, which is in BRGA non-premul. Read the
pixels in same color format.

Currently the tests pass on all platforms because GREEN is fully opaque
and the component stays in the same place both on BGRA and
RGBA. However, hypothetically somebody could copy-paste the assertion
for further tests but use, say, RED. This creates latent error that is
only visible on some platforms like mac.

Review URL: https://codereview.chromium.org/989463002
/external/skia/tests/ImageFilterTest.cpp
5c518a862264225f0a378e4728e037966ddf4cc2 05-Mar-2015 reed <reed@google.com> Revert of check for inputs before reporting asColorFilter (patchset #7 id:110001 of https://codereview.chromium.org/967833003/)

Reason for revert:
Need to suppress these for rebaselining, so reverting for now.

Regressions: Unexpected image-only failures (5)
css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]
virtual/slimmingpaint/css3/filters/effect-brightness-clamping-hw.html [ ImageOnlyFailure ]
virtual/slimmingpaint/css3/filters/effect-combined-hw.html [ ImageOnlyFailure ]

Original issue's description:
> Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
> Change asColorFilter to reflect its reliance on the new factory behavior.
>
> patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/dac843bf046c2cd79fd955cb177aee241d7a4b0c

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

Review URL: https://codereview.chromium.org/978923005
/external/skia/tests/ImageFilterTest.cpp
dac843bf046c2cd79fd955cb177aee241d7a4b0c 05-Mar-2015 reed <reed@google.com> Use ComposeColorFilter in factory to collapse consecutive filters (when possible).
Change asColorFilter to reflect its reliance on the new factory behavior.

patch from issue 967143002 at patchset 80001 (http://crrev.com/967143002#ps80001)

BUG=skia:

Review URL: https://codereview.chromium.org/967833003
/external/skia/tests/ImageFilterTest.cpp
8e8c940ee377d001653c5f659043186ccfc70ff0 13-Feb-2015 ajuma <ajuma@chromium.org> Fix leak in ComposedImageFilterOffset test

This fixes a leak in the ComposedImageFilterOffset test that was
introduced in https://codereview.chromium.org/908273002/.

BUG=chromium:453924

Review URL: https://codereview.chromium.org/922063005
/external/skia/tests/ImageFilterTest.cpp
5788faaa2ac4203827c68006b669e277d441e2e4 13-Feb-2015 ajuma <ajuma@chromium.org> Fix SkComposeImageFilter's bounds computation and offset handling

This makes SkComposeImageFilter::computeFastBounds compose its
filters' bounds (rather than falling back to
SkImageFilter::computeFastBounds, which takes the union of the bounds).

This also makes SkComposeImageFilter::onFilterImage correctly handle
an offset produced when applying the inner filter; such offsets were
previously ignored.

BUG=chromium:453924

Review URL: https://codereview.chromium.org/908273002
/external/skia/tests/ImageFilterTest.cpp
afe3005be3392e43bc51eb7eb2017eefaed85ad1 16-Jan-2015 bsalomon <bsalomon@google.com> Require budget decision when creating a RenderTarget SkSurface.

Restructure SkGpuDevice creation:
*SkSurfaceProps are optional.
*Use SkSurfaceProps to communicate DF text rather than a flag.
*Tell SkGpuDevice::Create whether RT comes from cache or not.

Review URL: https://codereview.chromium.org/848903004
/external/skia/tests/ImageFilterTest.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> Fix up all the easy virtual ... SK_OVERRIDE cases.

This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
/external/skia/tests/ImageFilterTest.cpp
c4bd39c903cc5da16f50d711063b01723b59281c 06-Jan-2015 robertphillips <robertphillips@google.com> Require explicit disabling of cross process pictureimagefilters

This is to allow capturing .skp files with their pictureimagefilters intact.

This is a companion to https://codereview.chromium.org/810933004/ (Provide a way of allowing cross process pictureimagefilters).

Review URL: https://codereview.chromium.org/834673006
/external/skia/tests/ImageFilterTest.cpp
f3f5bad7ded35265c0b5d042cc4174386b197a33 19-Dec-2014 robertphillips <robertphillips@google.com> Add toString methods to SkImageFilter-derived classes

This isn't definitive but at least makes something show up in the debugger.

Review URL: https://codereview.chromium.org/789163006
/external/skia/tests/ImageFilterTest.cpp
3f3b3d003527861dc0bd89733857576408906431 01-Dec-2014 mtklein <mtklein@chromium.org> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.

This was needed for pictures before v33, and we're now requiring v35+.

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

BUG=skia:

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

Review URL: https://codereview.chromium.org/769953002
/external/skia/tests/ImageFilterTest.cpp
6e78293ee896020104ffc4c23b565073e9a49893 01-Dec-2014 mtklein <mtklein@google.com> Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)

Reason for revert:
Breaks canary builds. Will reland after the Chromium change lands.

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

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

Review URL: https://codereview.chromium.org/768183002
/external/skia/tests/ImageFilterTest.cpp
52c293547b973f7fb5de3c83f5062b07d759ab88 01-Dec-2014 mtklein <mtklein@chromium.org> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.

This was needed for pictures before v33, and we're now requiring v35+.

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

BUG=skia:

Review URL: https://codereview.chromium.org/769953002
/external/skia/tests/ImageFilterTest.cpp
2d97bc139a7de5813468bd3dbfd0037351ae5606 20-Nov-2014 fmalita <fmalita@chromium.org> Disable LCD text explicitly in SkPictureImageFilter::onFilterImage()

As an intermediate fix for
https://code.google.com/p/skia/issues/detail?id=3142, we can use a
non-public SkCanvas constructor and force-disable LCD text.

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

Review URL: https://codereview.chromium.org/725243004
/external/skia/tests/ImageFilterTest.cpp
8f3937d9fcb28018ec14db6697d41b645716d589 29-Oct-2014 senorblanco <senorblanco@chromium.org> Fix bounds computation of all 0-input filters.

The SkRectShaderImageFilter had the same bug as previously fixed for
SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
the implementation, this change makes all filters with 0 inputs return
their source bounds, instead of returning false.

BUG=427251

Review URL: https://codereview.chromium.org/681643003
/external/skia/tests/ImageFilterTest.cpp
d0f1969100a0c00f41166f2fe616de56d44f4a59 28-Oct-2014 hcm <hcm@google.com> Revert of Fix bounds computation of all 0-input filters. (patchset #2 id:20001 of https://codereview.chromium.org/681643003/)

Reason for revert:
try again

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

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

Review URL: https://codereview.chromium.org/678273002
/external/skia/tests/ImageFilterTest.cpp
ba036cc82b5a543a13cafd11a19ba0e3087fca38 27-Oct-2014 senorblanco <senorblanco@chromium.org> Fix bounds computation of all 0-input filters.

The SkRectShaderImageFilter had the same bug as previously fixed for
SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste
the implementation, this change makes all filters with 0 inputs return
their source bounds, instead of returning false.

BUG=427251

Review URL: https://codereview.chromium.org/681643003
/external/skia/tests/ImageFilterTest.cpp
234f036b3e731e06e616c5291157d3bb4fbfdee2 23-Oct-2014 sugoi <sugoi@chromium.org> Adding an option to render only the shadow in SkDropShadowImageFilter

This is basically how blink uses the filter. Currently, I can't use it for "ShadowOnly" mode with the filter at all, but instead of copying the code and risking to have the codepaths diverge, I'm simply going to add the option here.

BUG=skia:

Review URL: https://codereview.chromium.org/646213004
/external/skia/tests/ImageFilterTest.cpp
3a49520696b2eca69e57884657d23fd2402ccfd1 29-Sep-2014 senorblanco <senorblanco@chromium.org> Sanitize SkMatrixConvolutionImageFilter creation params.

Apply the same memory limit in the Create() function that we do when
deserializing.

R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/610723002
/external/skia/tests/ImageFilterTest.cpp
4a8126e7f81384526629b1e21bf89b632ea13cd9 22-Sep-2014 reed <reed@google.com> Introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)"

This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7.

TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/588143004
/external/skia/tests/ImageFilterTest.cpp
29c857d0f3a1cb837f73406eeb6ba9771879b5e7 21-Sep-2014 reed <reed@chromium.org> Revert of introduce Props to surface (patchset #27 id:520001 of https://codereview.chromium.org/551463004/)

Reason for revert:
Broke call site in WebKit

Original issue's description:
> introduce Props to surface (work in progress)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda

R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com
TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/583773004
/external/skia/tests/ImageFilterTest.cpp
3716fd067a5621bb94a6cb08d72afec8bf3aceda 21-Sep-2014 reed <reed@google.com> introduce Props to surface (work in progress)

BUG=skia:
R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org

Author: reed@google.com

Review URL: https://codereview.chromium.org/551463004
/external/skia/tests/ImageFilterTest.cpp
32673b99a4fb5d798206eb7665b730ed0b4597a0 09-Sep-2014 senorblanco <senorblanco@chromium.org> Allow negative values in SkBlurImageFilter sigma.

There are two ways negative sigma values may occur: in
the original filter parameters, or after multiplication
by a negative scaling CTM. The former case is
invalid according to the spec, so we continue to check
for it at validation time. In the latter case, we should
interpret it as a horizontal flip in the kernel pixel
access, and simply take the absolute value (since the
filter kernel is symmetric).

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

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

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/555603002
/external/skia/tests/ImageFilterTest.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/tests/ImageFilterTest.cpp
a8d7f0b13cd4c6d773fcf055fe17db75d260fa05 29-Aug-2014 robertphillips <robertphillips@google.com> Try out scalar picture sizes

This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/513983002
/external/skia/tests/ImageFilterTest.cpp
1150a6d151571fb6ee816dadec844ae7ab53948a 25-Aug-2014 senorblanco <senorblanco@chromium.org> Fix recursive computation of filter bounds for drop shadow,
morphology, blur.

[Reland with fixed tests.]

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

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

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/481273005
/external/skia/tests/ImageFilterTest.cpp
38cb688bd0e17021bb140bbc15ac1a7b8f182939 25-Aug-2014 djsollen <djsollen@google.com> Revert of Fix recursive computation of filter bounds for drop shadow, (patchset #1 of https://codereview.chromium.org/481273005/)

Reason for revert:
This CL is currently breaking the Win7 and Win8 bots on some of the new tests (in DM).

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

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

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/504773003
/external/skia/tests/ImageFilterTest.cpp
28648fe4a69b0cee8df42b5966e4e645c3aabefb 25-Aug-2014 senorblanco <senorblanco@chromium.org> Fix recursive computation of filter bounds for drop shadow,
morphology, blur.

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

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

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/481273005
/external/skia/tests/ImageFilterTest.cpp
d910f544439fffa6c2bcc5181b79b2811a4c130a 22-Aug-2014 mtklein <mtklein@chromium.org> Fix saveLayer() with a pixel-moving filter vs SkBBoxHierarchyRecord / SkRecordDraw

In SkBBoxHierarchyRecord:
Since the bounds we pass to saveLayer are in the pre-filtering
coordinate space, they aren't correct for determining the actual
device pixels touched by the saveLayer in this case.

The easiest fix for now is to pass the clip bounds, since the final
draw done in restore() will never draw outside the clip.

In SkRecordDraw:
We do adjust the bounds passed to saveLayer, so we just need to make
sure that when we're using a paint that may affect transparent black,
we ignore the calculated bounds of draw ops and use the clip intersected
with those adjusted bounds.

See originally crrev.com/497773002

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/496963003
/external/skia/tests/ImageFilterTest.cpp
9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187 21-Aug-2014 reed <reed@google.com> Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).

Refactoring pattern:

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

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

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

Author: reed@google.com

Review URL: https://codereview.chromium.org/395603002
/external/skia/tests/ImageFilterTest.cpp
97d2c0a216e8feae251a6af1e50579df3e026434 19-Aug-2014 halcanary <halcanary@google.com> Move SkReadBuffer.h and SkReader32.h out of include.

Committed: https://skia.googlesource.com/skia/+/2a51d7c74cec217195f861677de8998b382b39e4

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

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/481053002
/external/skia/tests/ImageFilterTest.cpp
f128f53a5bc36e2a991302cb40848df580ad515f 18-Aug-2014 halcanary <halcanary@google.com> Revert "Move SkReadBuffer.h and SkReader32.h out of include."

This reverts commit 2a51d7c74cec217195f861677de8998b382b39e4.

Breaking Blink

NOTRY=true
R=bungeman@google.com
TBR=bungeman@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/472303006
/external/skia/tests/ImageFilterTest.cpp
2a51d7c74cec217195f861677de8998b382b39e4 18-Aug-2014 halcanary <halcanary@google.com> Move SkReadBuffer.h and SkReader32.h out of include.

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

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/481053002
/external/skia/tests/ImageFilterTest.cpp
3d822c29d4272a6749e59801b202b1ed6d611be8 30-Jul-2014 senorblanco <senorblanco@chromium.org> Intersect SkPictureImageFilter bounds against clip bounds.

Intersect SkPictureImageFilter bounds against clip bounds
to avoid unnecessary processing. This is how the other
filters work (via applyCropRect()), but SkPictureImageFilter
maintains its own crop.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/428263003
/external/skia/tests/ImageFilterTest.cpp
55b6d8be997a447ef9ce0f029697677a940bfc24 30-Jul-2014 senorblanco <senorblanco@chromium.org> Implement a persistent uniqueID-based cache for SkImageFilter.

Add a unique ID to SkImageFilter, and use it as part
of a persistent cache of image-filtered results. This is used for
caching frame-to-frame coherent filters.

We also keep track of which filter subtrees do not reference the
src input, and use a GenID of zero for the src input in that case.
That way, subtrees which are not dependent on the filter input can be
cached independently of it.

This gives approximately a 4X speedup on
letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620
and Nexus10. The cache key consists of the uniqueID of the filter, the
clip bounds, the CTM and the genID of the input bitmap.

Since this does not yet handle the case where the input primitives
(and part of the resulting filter tree) are unchanged, we have
to keep around the external cache for that painting case.
When the work to cache unchanging input primitives is done, the
old cache can be removed, and the new UniqueIDCache will be renamed
to Cache.

R=bsalomon@google.com, mtklein@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/414483003
/external/skia/tests/ImageFilterTest.cpp
837f5321a409228a27fc710eb71c87866b820cfb 14-Jul-2014 senorblanco <senorblanco@chromium.org> Fix for saveLayer() with filters vs. the BBox Hierarchy.

When building acceleration structures for SkPicture, we must transform
the primitive's bounds not only by its own SkPaint, but by the paints of
any saveLayer()s currently active above it.

We do this by pushing the SkPaint onto a stack on
saveLayer(), and popping them on restore(). We also push
a NULL paint in save(), so that the pushes and pops are
balanced.

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

Committed: https://skia.googlesource.com/skia/+/6ca0b6a46cbe9bef3e2b9b9db813ec864efd62de

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/380373003
/external/skia/tests/ImageFilterTest.cpp
c07e2811dd8f15722ebdd1ff0a7f5449258569f1 14-Jul-2014 senorblanco <senorblanco@chromium.org> Revert "Fix for saveLayer() with filters vs. the BBox Hierarchy." and
"resizeimagefiler is ok with a BBH now".

This reverts commits 6ca0b6a46cbe9bef3e2b9b9db813ec864efd62de and 8fa73202eaffbd7591ee218ad452b9afde81f505.

Apparently causing problems in SKP playback.

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

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/381353005
/external/skia/tests/ImageFilterTest.cpp
6ca0b6a46cbe9bef3e2b9b9db813ec864efd62de 11-Jul-2014 senorblanco <senorblanco@chromium.org> Fix for saveLayer() with filters vs. the BBox Hierarchy.

When building acceleration structures for SkPicture, we must transform
the primitive's bounds not only by its own SkPaint, but by the paints of
any saveLayer()s currently active above it.

We do this by pushing the SkPaint onto a stack on
saveLayer(), and popping them on restore(). We also push
a NULL paint in save(), so that the pushes and pops are
balanced.

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

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/380373003
/external/skia/tests/ImageFilterTest.cpp
874a62acef5ec2ecccdbb99ec4d86402a3341e6a 09-Jul-2014 Mike Klein <mtklein@google.com> Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."

This reverts commit 4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443.

BUG=skia:

Review URL: https://codereview.chromium.org/382523002
/external/skia/tests/ImageFilterTest.cpp
9ea3d57fde28a5fe4487a111dc3dd49418235e5e 08-Jul-2014 senorblanco <senorblanco@chromium.org> Clean up SkImageFilter constructors.

Now that all creation of SkImageFilters goes through
factory Create() methods, there's no real reason for the
convenience constructors. Some SkImageFilter subclasses
which actually have zero DAG-able inputs were passing NULL
to the superclass constructor. This actually means 1 input,
with a NULL value, not zero inputs. This becomes more
relevant for the upcoming cache infrastructure, where this
indicates that the filter will use its src input, where in
fact some of these filters do not (they are image generators
only).

Limiting SkImageFilter to a single constructor resolves this
ambiguity.

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

BUG=skia:
R=reed@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/376953003
/external/skia/tests/ImageFilterTest.cpp
4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443 08-Jul-2014 mtklein <mtklein@chromium.org> Remove ability for Release code to call getRefCnt() or getWeakRefCnt().

These getRefCnt() methods are not thread safe, so Skia code should not
be calling them. unique() is fine.

SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().

This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/378643003
/external/skia/tests/ImageFilterTest.cpp
3df05015efce95c306fb79c21efc77c79f1ac1ba 03-Jul-2014 senorblanco <senorblanco@chromium.org> Fix SkColorFilterImageFilter matrix optimization.

The order of matrices passed to multiplication was wrong (apparently,
this optimization was only being tested with matrices which commute).

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

R=sugoi@chromium.org

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/371523002
/external/skia/tests/ImageFilterTest.cpp
7bf106847304840526a3e722b5ff5ce7322a2826 25-Jun-2014 senorblanco <senorblanco@chromium.org> Remove SkBicubicImageFilter, and all related tests.

Now that we have SkResizeImageFilter, and the bicubic
resizing is part of skia proper, there's no need for a
specialized image filter.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/357793002
/external/skia/tests/ImageFilterTest.cpp
9ea53f93e79ba312c4b3943923450a8b4aa57c82 24-Jun-2014 tfarina <tfarina@chromium.org> Preprend Test to test function name generated by DEF_TEST() macro.

That way when declaring a test with DEF_TEST() macro, you don't have to
uniquify the test name because it might colide with the class it is
being testing.

For example, if you are testing SkBase64 and do:

DEF_TEST(SkBase64, reporter) {
}

That will generate an error because the macro will declare a function
named SkBase64 which colides with the type SkBase64.

By adding Test to the function name we avoid this problem.

Fixed the entries found with the following command line:

$ git grep "Test, r" | grep DEF

BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/345753007
/external/skia/tests/ImageFilterTest.cpp
9b14f26d0f3a974f3dd626c8354e1db1cfcd322f 04-Jun-2014 robertphillips <robertphillips@google.com> Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)

R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/313613004
/external/skia/tests/ImageFilterTest.cpp
97f5fc651956287e78e35934cf62b9e1b45b4f6c 30-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow SkPictureImageFilter to be serialized when not run cross-process.

Picture serialization is not yet hardened, but it turns out we do need
serialization of SkPictureImageFilter for deferred SVG-on-SVG filters,
since the SkPaints (and thus the SkImageFilters) are serialized by
SkPictureRecord. However, deferred filters are always drawn in the
same process, so we can safely serialize them in this case. We do this
by turning the compile-time check for
SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION to a runtime check for
isCrossProcess().

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

BUG=375162
R=sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@15008 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
910702b564048d77e36a68b0f8dda7cc48a8fcff 30-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement SkPictureImageFilter bounds computation.

SkPictureImageFilter::onFilterBounds() was unimplemented, causing
incorrect results for SVG filters and impl-side painting (see Chrome
bug https://code.google.com/p/chromium/issues/detail?id=375162).

BUG=skia:
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@15003 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
29ac34ee526578fb0a01cd2d0c23c23e6a823d82 28-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix filter bounds computation for SkOffsetImageFilter.

SkOffsetImageFilter::onFilterBounds() was not recursing into its input
filter when computing bounds.

BUG=374556
R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14928 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
ba31f1d341bac57ca76a75d67f64434b4b371dc6 07-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Some small cleanups for image filter code.

Use the 2-param flavour of mapVector instead of the 3-param, where possible.
Add an SkMatrixImageFilter test case to the tiling unit test.

R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14630 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
d4db657bf54ae5346cb142fed2f83ea88544a733 07-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for SkDisplacementMap::onFilterBounds().

Two problems: we were not applying the CTM to the scale parameter when
modifying clip bounds, and the recursion for onFilterBounds() must be done
in the reverse order.

BUG=370914
R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14627 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
68250c8e7c2bf5d669397c849259c3bcad40237e 07-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for empty saveLayer() with a filter which affects transparent black.

If an saveLayer()/restore() is recorded, tilegrid/rtree will cull them
out and not draw anything. This is correct for most cases, but if the
paint in the saveLayer() is one that affects transparent black (e.g.,
it contains a color filter or image filter which affects transparent
black), this is incorrect: the filter should be applied.

Fixed by adding a no-op between the saveLayer() and restore(), and
adding a bbox node pointing at that node with the saveLayer()'s bounds.

This exposed a bug in SkPictureRecord.cpp's match(), where it would
assert if the NOOP was the last op seen. Fixed with an early-out before
calling peek_op_and_size().

BUG=skia:2254

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14604 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
8c7372bbe8949f2864bd3d9df00d85c5669a74b1 02-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for SkMatrixConvolutionImageFilter with large borders.

Intersect the requested processing rect with the destination
bounds.

R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14543 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
9195743aac79a4fa82059ab614b9795f215475f7 01-May-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a fix for a spurious assert in SkMatrixConvolutionImageFilter.

When matrix convolution processes border pixels with zero width, it
asserts in getAddr32() with an invalid x coordinate. The assert is
harmless, since the returned pointer is never accessed (the next line
is a loop from left to right, which does nothing, since left == right).
However, the fix is simple: early out on an empty rect before entering
the outer loop.

R=sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14497 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
0a5c233e3b911232c0d6f9a88ded99ecf88b8a97 29-Apr-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement bounds traversals for tile and matrix convolution filters.

Add a new GM that exercises tiled drawing all pixel-moving filters
(and some non-pixel-moving ones) and compares it against non-tiled
drawing of the same filters. Fixing this test revealed that tile and
matrix convolution filters had no onFilterBounds() traversals
(test-driven development FTW). Tile requires (conservatively) the
bounds to include the whole source rect, since it may end up in the
result. Matrix convolution requires the bounds to be offset by the
kernel size and target.

R=reed@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14432 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
770963f23f4fc313db0fa3bac18b1b8aafb55f17 18-Apr-2014 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Staging for cleanup of SkPicture-related headers

https://codereview.chromium.org/243173002



git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
091a594dbc4116ec2e54724432472bf37dae794a 18-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Reduce internal explicit SaveFlags usage.

Most of these are either redundant/defaults or (hopefully)
unnecessarily specific.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14253 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
5fb2ce38b3dcb8e60e9e112df23c9d42456d7069 18-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Staged removal of SkPicture-derived classes

This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).

The only interesting bits are in SkPicture* and Sk*Picture.*

R=reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
d393b17cf3427bd6f6255f8670067d9aa529e409 16-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Retract SkPicture::kOptimizeForClippedPlayback_RecordingFlag from public API


This CL sets the stage for retracting the SkPicture::kOptimizeForClippedPlayback_RecordingFlag flag
from the public API (more work needs to be done in Blink & Chrome). In the new world the only way
to set this flag (and thus instantiate an SkPicture-derived
class) is by passing a factory to the SkPictureRecorder class. This is to get all clients always using
factories so that we can then change the factory call used (i.e., so the factory just creates a BBH) and
do away with the SkPicture-derived classes.

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

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14221 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
84b18c7e3e042bf206e1ace3d1b6ea5bb929fe51 13-Apr-2014 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> split SkPictureRecorder out of SkPicture

https://codereview.chromium.org/214953003/



git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
f7efa502d62af80bd15b03e1131603fb6577c3df 11-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement intra-frame cacheing in image filters.

When image filters are processed within Skia, they simply do
a blind recursion. This has the side-effect of turning the
DAG into a tree. I.e., nodes visited more than once during
the traversal will be processed more than once.

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

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

R=reed@google.com

Author: senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14160 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
d5424a425bc21280afe2161f6ac1e5d9eb97e6b2 02-Apr-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix matrix adjustment passed to filter processing.

When adjusting the CTM for filter use, we were subtracting off the
destination coordinates of the drawDevice() or drawSprite(). This is
not quite correct: we should subtract off the coordinates relative to
the device origin instead. This occurs when one filtered saveLayer() is
drawn inside another saveLayer(), both with non-zero origin.

This fixes layout test svg/batik/text/smallFonts.svg in Blink, and is
exercised by the provided unit test.

BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14029 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
ee845ae4940779280a853269d7d797dc9eb89201 01-Apr-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
28ae55de3c4ec93516901100df1170048f949dfb 24-Mar-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix Mac Debug clang build.

TBR=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13925 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
09843fd5c15e84e9b14ab511a04d9d639149fa75 24-Mar-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
118252962f89a80db661a0544f1bd61cbaab6321 14-Mar-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
4cb543d6057b692e1099e9f115155f0bf323a0c8 14-Mar-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977 10-Mar-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
727a352f7412753d2a3e4d30eab6500a1a4de135 21-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
15a140599942f70e47380e3f700a825c7cece3b4 16-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Change device factories to take SkImageInfo instead of SkBitmap::Config

patch from issue 167033002

BUG=skia:
R=reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
deee496cd30070e52556dcb538c2e5eb39b66b81 13-Feb-2014 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> replace setConfig+allocPixels with single call

BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13426 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
0937335e6b051150e9a42fc685659bac570b0c51 06-Feb-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Mid-air collision: fix constness for onFilterImage in new test.

TBR=fmalita
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13332 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
5251e2b91ac976f61e6252d931c1a0e746d2290a 05-Feb-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix a problem with scaled filters in tiled SkPicture playback.

The matrix used during filter application should be up-to-date, so that
the filter parameters can be scaled by the CTM (e.g., for hiDPI).
However, tiled playback defers setting of the matrix until after the
restore() call which draws the filter, which is too late. Moving the
setMatrix() ahead of the restore() sequence fixes the problem.

TEST=ImageFilterMatrixTest
R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13331 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
f4e1a7614da0cc3738077a1df5d8895a4df6d2f6 04-Feb-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> More bot whack-a-mole: fix Win build.

BUG=skia:
TBR=fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13295 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
ec7c35d01501484fed63a9d50832e4fbcfac108d 04-Feb-2014 fmalita@google.com <fmalita@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Speculative build fix after r13292.

TBR=senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13294 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
58d1466c7773984b7ce4bd75ebf7c97cd42f7d12 03-Feb-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix skia_gpu=0 build.

BUG=skia:
TBR=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13293 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
aba651c3f1a1657bbe5367c873500e7c60539a3e 03-Feb-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
8f6884aab8aecd7657cf3f9cdbc682f0deca29c5 24-Jan-2014 tfarina@chromium.org <tfarina@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Cleanup: Sanitize the order of includes under tests/

Initially this was to make sure Test.h appeared after the Sk*.h includes.

Patch generated by the following command line:

$ ~/chromium/src/tools/sort-headers.py tests/*.cpp

BUG=None
TEST=tests
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13177 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
e2eac8b2fd8966cc9af51f8d40151dad6c591d2e 14-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move macros from TestClassDef.h to Test.h

Motivation: those macros don't make any sense without the definitions
in Test.h.

BUG=
R=mtklein@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13074 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
6776b82d466fa93ccffd251fdf556fe058395444 03-Jan-2014 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
9f9d5829c29d8934fa0d4d348173d5ae39bed4e9 18-Dec-2013 tfarina@chromium.org <tfarina@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Get rid of DEFINE_TESTCLASS() macro.

Remaining tests were rewrite to use DEF_TEST() macro instead. This fixes
the FIXME in TestClassDef.h

BUG=None
TEST=tests
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12760 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
4b413c8bb123e42ca4b9c7bfa6bc2167283cb84c 25-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
cb3b615af712fc71b19b86211c1d083430114d7e 14-Nov-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Address some more valgrind issues

R=borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12286 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
8b66abb9bc78fd031334f565c9394f4fdc99811b 16-Oct-2013 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
b295fb6ff3222453912dfcb7a1ea5184d40014b5 10-Oct-2013 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
a604c4f971adf84dcf8235994b1441f6f4fe8ab1 17-Sep-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@11309 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
1588354a8702ef993e1a6cce0e7782db4c5f1514 16-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Compiler fix for r11288



git-svn-id: http://skia.googlecode.com/svn/trunk@11289 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
24ddde97581624777feebc9e95ae558282f95d4c 16-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
ba6e954140e45e251d67934ed6ad752149fcf72f 16-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
478884f7d3b8c7be8b62f3fa2b79192f411c3fec 16-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
dc9888c409e4903a687ea05b9846987b829bf9ac 14-Sep-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@11279 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
40fcb598944abdd6578dfd280c1470240b7c7f09 13-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> More warnings as errors fixes



git-svn-id: http://skia.googlecode.com/svn/trunk@11251 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
4b681bc95b14e081f1cc5b68cb755d57fc8eb977 13-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp
5c561cb8d8151d38c69128345106cbf225033a1a 25-Jul-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@10340 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/tests/ImageFilterTest.cpp
194d775edcf5fa6e82098a97ad53018d70db1155 25-Jul-2013 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> 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
/external/skia/tests/ImageFilterTest.cpp