reed
60c9b58b32
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
2016-04-03 09:11:13 -07:00
senorblanco
6db0a7bdce
Image filters: optimize crop rect application.
...
If a filter does not affect transparent black, there's no
reason to allow the crop rect to expand beyond the optimal
size determined by onFilterNodeBounds(). So don't enlarge
the bounds unless the filter affects transparent black.
In order to determine which filters affect transparent
black, I've pulled the inverse of the canComputeFastBounds()
logic into a non-recursive, affectsTransparentBlack()
virtual, and left canComputeFastBounds() as a non-virtual,
recursive function that calls it.
BUG=599933
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1848953002
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1848953002
2016-04-01 16:41:10 -07:00
robertphillips
f624204300
Update SkAlphaThresholdFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1847053004
Review URL: https://codereview.chromium.org/1847053004
2016-04-01 10:34:43 -07:00
robertphillips
549c899195
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
2016-04-01 09:28:51 -07:00
robertphillips
4eb4964e18
Revert of Switch SkDownSampleImageFilter over to new onFilterImage interface (patchset #2 id:20001 of https://codereview.chromium.org/1851583002/ )
...
Reason for revert:
Some images are incorrect
Original issue's description:
> Switch SkDownSampleImageFilter over to new onFilterImage interface
>
> This will slightly change the testimagefilters GM images
>
> TBR=reed@google.com
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1851583002
>
> Committed: https://skia.googlesource.com/skia/+/daa9da4937b6dfc9e1047239b4afd41b1c5474d5
TBR=senorblanco@chromium.org ,reed@google.com,senorblanco@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/1853823002
2016-04-01 08:09:44 -07:00
robertphillips
daa9da4937
Switch SkDownSampleImageFilter over to new onFilterImage interface
...
This will slightly change the testimagefilters GM images
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1851583002
Review URL: https://codereview.chromium.org/1851583002
2016-04-01 07:13:23 -07:00
robertphillips
51a315eff9
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
2016-03-31 09:05:49 -07:00
robertphillips
2238c9dbca
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
2016-03-30 13:34:17 -07:00
robertphillips
491fb17cab
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
2016-03-30 12:32:58 -07:00
robertphillips
40d8d62854
Update Morphology image filter to store its type
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834953002
Review URL: https://codereview.chromium.org/1834953002
2016-03-30 08:09:57 -07:00
robertphillips
372177ee11
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
2016-03-30 07:32:28 -07:00
djsollen
890579051d
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
2016-03-29 19:07:07 -07:00
robertphillips
a33cf07a22
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
2016-03-29 13:54:26 -07:00
reed
cfb6bdf767
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
2016-03-29 11:32:50 -07:00
robertphillips
5ff17b1352
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
2016-03-28 13:13:42 -07:00
reed
fe63045f07
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
2016-03-25 09:08:00 -07:00
robertphillips
f299e71054
Switch SkMorphologyImageFilter over to new onFilterImage interface
...
This now relies on: https://codereview.chromium.org/1826233002/ (Add rowBytesAsPixels and shiftPerPixel to SkPixmap)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1819393002
Review URL: https://codereview.chromium.org/1819393002
2016-03-25 04:49:23 -07:00
msarett
e8597a4dd0
Delete SkImageDecoder
...
This image decoding implementation has been replaced
by SkCodec in Android.
Additionally, we have replaced uses of SkImageDecoder
in Skia and Google3 with uses of SkCodec.
Now we can delete SkImageDecoder :).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1820503002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot
Committed: https://skia.googlesource.com/skia/+/f799706656f2581c5bf5510d94df3fa17cce1607
Committed: https://skia.googlesource.com/skia/+/5b6e73e0c8282c4d85accbfbcecc6dee84f8a1eb
Committed: https://skia.googlesource.com/skia/+/f037fdebda2a2626e6512d7532063f2cd41a264d
Review URL: https://codereview.chromium.org/1820503002
2016-03-24 10:41:47 -07:00
robertphillips
2302de920e
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
2016-03-24 07:26:32 -07:00
robertphillips
83f2e5ac13
Switch SkColorFilterImageFilter over to new onFilterImage interface
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782083002
Committed: https://skia.googlesource.com/skia/+/ec950c4d215c6141b31b98ed6a8182a97baeb8b9
Review URL: https://codereview.chromium.org/1782083002
2016-03-24 06:31:25 -07:00
robertphillips
1579e3c376
Switch SkBlurImageFilter over to new onFilterImage interface
...
This CL relies on:
https://codereview.chromium.org/1787883002/ (Add SkSpecialImage::extractSubset & NewFromPixmap)
https://codereview.chromium.org/1808743003/ (Allow SkGpuDevice::drawSprite to handle subset SkBitmaps)
https://codereview.chromium.org/1813813002/ (Add SkSpecialImage::makeTextureImage entry point)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785643003
Committed: https://skia.googlesource.com/skia/+/3c935bc87020bfd19a08922f7394db3a801d168b
Review URL: https://codereview.chromium.org/1785643003
2016-03-24 05:01:23 -07:00
robertphillips
eac3e96fdd
Revert of Switch SkColorFilterImageFilter over to new onFilterImage interface (patchset #5 id:80001 of https://codereview.chromium.org/1782083002/ )
...
Reason for revert:
seems to be breaking the 10k skp bot
Original issue's description:
> Switch SkColorFilterImageFilter over to new onFilterImage interface
>
> TBR=bsalomon@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782083002
>
> Committed: https://skia.googlesource.com/skia/+/ec950c4d215c6141b31b98ed6a8182a97baeb8b9
TBR=senorblanco@google.com ,senorblanco@chromium.org,bsalomon@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/1829993003
2016-03-23 16:38:05 -07:00
robertphillips
9c79d7ec4e
Revert of Switch SkBlurImageFilter over to new onFilterImage interface (patchset #15 id:270001 of https://codereview.chromium.org/1785643003/ )
...
Reason for revert:
serialize-8888 broken for some reason
Original issue's description:
> Switch SkBlurImageFilter over to new onFilterImage interface
>
> This CL relies on:
> https://codereview.chromium.org/1787883002/ (Add SkSpecialImage::extractSubset & NewFromPixmap)
> https://codereview.chromium.org/1808743003/ (Allow SkGpuDevice::drawSprite to handle subset SkBitmaps)
> https://codereview.chromium.org/1813813002/ (Add SkSpecialImage::makeTextureImage entry point)
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785643003
>
> Committed: https://skia.googlesource.com/skia/+/3c935bc87020bfd19a08922f7394db3a801d168b
TBR=senorblanco@google.com ,senorblanco@chromium.org,bsalomon@google.com,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/1831603002
2016-03-23 14:03:43 -07:00
robertphillips
3c935bc870
Switch SkBlurImageFilter over to new onFilterImage interface
...
This CL relies on:
https://codereview.chromium.org/1787883002/ (Add SkSpecialImage::extractSubset & NewFromPixmap)
https://codereview.chromium.org/1808743003/ (Allow SkGpuDevice::drawSprite to handle subset SkBitmaps)
https://codereview.chromium.org/1813813002/ (Add SkSpecialImage::makeTextureImage entry point)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1785643003
Review URL: https://codereview.chromium.org/1785643003
2016-03-23 12:50:46 -07:00
robertphillips
ec950c4d21
Switch SkColorFilterImageFilter over to new onFilterImage interface
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1782083002
Review URL: https://codereview.chromium.org/1782083002
2016-03-23 09:42:12 -07:00
robertphillips
0a291c7b7e
Switch SkDropShaderImageFilter over to new onFilterImage interface
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1784863003
Review URL: https://codereview.chromium.org/1784863003
2016-03-23 05:00:01 -07:00
reed
d053ce9c54
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 1eb81db650
.
> >
> > 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
2016-03-22 10:17:23 -07:00
reed
d6889293dd
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 1eb81db650
.
>
> 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
2016-03-22 08:59:19 -07:00
reed
4c9776b046
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 1eb81db650
.
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
2016-03-22 08:10:17 -07:00
reed
1eb81db650
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
2016-03-22 07:35:17 -07:00
reed
f809d7687a
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
2016-03-22 07:23:24 -07:00
senorblanco
e5e79840ef
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
2016-03-21 14:51:59 -07:00
reed
7b380d0d0e
guard rasterizer and drawlooper setters
...
Need to land https://codereview.chromium.org/1823513002/ first
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1821533002
Review URL: https://codereview.chromium.org/1821533002
2016-03-21 13:25:16 -07:00
reed
a439334b6e
Reland of "switch patheffects over to sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1813553005/ )"
...
This reverts commit f28ad89427
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813123003
TBR=
Review URL: https://codereview.chromium.org/1813123003
2016-03-18 11:22:57 -07:00
reed
f28ad89427
Revert of switch patheffects over to sk_sp (patchset #5 id:80001 of https://codereview.chromium.org/1813553005/ )
...
Reason for revert:
some build breaks, possibly related to paint having to know what a patheffect is
Original issue's description:
> switch patheffects over to sk_sp
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813553005
>
> Committed: https://skia.googlesource.com/skia/+/9fbee18f691a0afed1e38a851048ce06063505ed
TBR=caryclark@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/1817543002
2016-03-18 10:17:27 -07:00
reed
9fbee18f69
switch patheffects over to sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813553005
Review URL: https://codereview.chromium.org/1813553005
2016-03-18 10:00:32 -07:00
robertphillips
37bd7c3aca
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
2016-03-17 14:31:39 -07:00
reed
fde05114e6
Make sp variants for SkData
...
Review URL: https://codereview.chromium.org/1779263003
2016-03-11 13:02:28 -08:00
robertphillips
393aa36815
Switch SkMergeImageFilter over to new onFilterImage interface
...
This relies on CL: https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1763223002
Review URL: https://codereview.chromium.org/1763223002
2016-03-10 04:44:20 -08:00
robertphillips
e6163bf353
Switch SkPaintImageFilter over to new onFilterImage interface
...
This CL relies on: https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1761373002
Review URL: https://codereview.chromium.org/1761373002
2016-03-09 10:17:41 -08:00
robertphillips
6ac97b7eb9
Switch SkImageSource image filter over to new onFilterImage interface
...
This CL relies on: https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772933002
Review URL: https://codereview.chromium.org/1772933002
2016-03-09 05:17:10 -08:00
reed
8a21c9fe7f
use Make instead of Create to return a shared shader
...
Partially updated call sites. Undefine the flag in SkSHader.h to convert the remaining sites.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772463002
Review URL: https://codereview.chromium.org/1772463002
2016-03-08 18:50:00 -08:00
robertphillips
40736abf74
Switch SkComposeImageFilter over to new onFilterImage interface
...
This CL depends on https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1768283002
Review URL: https://codereview.chromium.org/1768283002
2016-03-08 12:05:37 -08:00
robertphillips
c80bf74bcc
Switch SkOffsetImageFilter over to new onFilterImage interface
...
This CL relies on: https://codereview.chromium.org/1762013002/ (Swap over to using SkImageFilter::filterImage instead of filterImageDeprecated)
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1766743003
Review URL: https://codereview.chromium.org/1766743003
2016-03-08 08:47:23 -08:00
reed
773ceda51c
Enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )"
...
This reverts commit e38bcaf24b
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1763973002
TBR=
Review URL: https://codereview.chromium.org/1763973002
2016-03-03 18:18:25 -08:00
halcanary
e38bcaf24b
Revert of enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )
...
Reason for revert:
Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86-Debug failed dm:
....
FYI: loaded 23439 distinct uninteresting hashes from 23439 lines
Skipping config gpu: Don't understand 'gpu'.
Skipping config msaa16: Don't understand 'msaa16'.
168400 srcs * 7 sinks + 481 tests == 1179281 tasks
0ns elapsed, 5 active, 1179276 queued, 55MB RAM, 55MB peak
565 gm xfermodes2
565 gm xfermodes
565 gm xfermodeimagefilter
565 gm xfermodes3
565 gm verylarge_picture_image
c:\0\build\slave\workdir\build\skia\src\core\skshader.cpp:108:
fatal error: ""(0 == ((size) & 15))""
step returned non-zero exit code: 3
@@@STEP_FAILURE@@@
Original issue's description:
> enforce 16byte alignment in shader contexts
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1759653004
>
> Committed: https://skia.googlesource.com/skia/+/d812fb458807245daa812adb7af0733cf5b54d96
TBR=mtklein@google.com ,fmalita@chromium.org,herb@google.com,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/1759323002
2016-03-03 14:23:47 -08:00
reed
d812fb4588
enforce 16byte alignment in shader contexts
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1759653004
Review URL: https://codereview.chromium.org/1759653004
2016-03-03 13:25:25 -08:00
reed
7f4b1b20b0
move drawextrapatheffect header into animator
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1747753002
TBR=caryclark@google.com
Review URL: https://codereview.chromium.org/1747753002
2016-02-28 12:46:29 -08:00
reed
ca726abe1e
fix misc asserts and checks found by fuzzer
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719993002
Review URL: https://codereview.chromium.org/1719993002
2016-02-22 12:50:26 -08:00
fmalita
8d9f2e474a
Add ContextRec param to SkShader::contextSize()
...
To facilitate upcoming context selection changes.
R=reed@google.com ,mtklein@google.com,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1720933002
Review URL: https://codereview.chromium.org/1720933002
2016-02-22 10:39:41 -08:00
ethannicholas
23e7af0e8a
Revert of fix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1719913002/ )
...
Reason for revert:
Looks to be causing failures in LayerTreeHostFilters* tests (https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/177297/steps/cc_unittests%20%28with%20patch%29/logs/stdio ).
Original issue's description:
> fix misc asserts and checks found by fuzzer
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/653db51b440491b0fb1908bf5a43dcc89c90044d
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/1721743002
2016-02-22 07:42:18 -08:00
reed
8781123a17
clean-up dead code
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719773002
Review URL: https://codereview.chromium.org/1719773002
2016-02-22 06:59:37 -08:00
reed
653db51b44
fix misc asserts and checks found by fuzzer
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
TBR=
Review URL: https://codereview.chromium.org/1719913002
2016-02-22 06:34:47 -08:00
reed
1d52469927
Revert of ix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1723473002/ )
...
Reason for revert:
need to not land the canvas change yet
Original issue's description:
> Reland of ix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1713413002/ )
>
> Reason for revert:
> deps instability seemingly fixed. trying again.
>
> Original issue's description:
> > Revert of fix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1713383002/ )
> >
> > Reason for revert:
> > speculative deps-roll fix
> >
> > Original issue's description:
> > > fix misc asserts and checks found by fuzzer
> > >
> > > BUG=skia:
> > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
> > >
> > > TBR=robertphilips
> > >
> > > Committed: https://skia.googlesource.com/skia/+/00bea4ad310c4ec4dd95809b47ce3fbfa8fd0e1e
> >
> > TBR=robertphillips@google.com
> > # 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/+/d98ef6377269e3596423225ab922301ed40529a0
>
> TBR=robertphillips@google.com
> # 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/+/75a73297cb44c65a9efcf5f212854cb457140e34
TBR=robertphillips@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/1723483002
2016-02-22 05:57:32 -08:00
reed
75a73297cb
Reland of ix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1713413002/ )
...
Reason for revert:
deps instability seemingly fixed. trying again.
Original issue's description:
> Revert of fix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1713383002/ )
>
> Reason for revert:
> speculative deps-roll fix
>
> Original issue's description:
> > fix misc asserts and checks found by fuzzer
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
> >
> > TBR=robertphilips
> >
> > Committed: https://skia.googlesource.com/skia/+/00bea4ad310c4ec4dd95809b47ce3fbfa8fd0e1e
>
> TBR=robertphillips@google.com
> # 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/+/d98ef6377269e3596423225ab922301ed40529a0
TBR=robertphillips@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/1723473002
2016-02-22 05:54:53 -08:00
reed
d98ef63772
Revert of fix misc asserts and checks found by fuzzer (patchset #1 id:1 of https://codereview.chromium.org/1713383002/ )
...
Reason for revert:
speculative deps-roll fix
Original issue's description:
> fix misc asserts and checks found by fuzzer
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
>
> TBR=robertphilips
>
> Committed: https://skia.googlesource.com/skia/+/00bea4ad310c4ec4dd95809b47ce3fbfa8fd0e1e
TBR=robertphillips@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/1713413002
2016-02-21 10:27:49 -08:00
reed
00bea4ad31
fix misc asserts and checks found by fuzzer
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1713383002
TBR=robertphilips
Review URL: https://codereview.chromium.org/1713383002
2016-02-20 14:18:27 -08:00
robertphillips
48e78468f5
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
2016-02-17 13:57:17 -08:00
robertphillips
4f0379444d
Alter SkXfermode's asFragmentProcessor & asXPFactory contracts
...
TBR=bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1674673002
Review URL: https://codereview.chromium.org/1674673002
2016-02-09 05:09:28 -08:00
bsalomon
8610002ff8
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
2016-02-01 12:09:07 -08:00
robertphillips
188d44c549
Move SkPixelXorXfermode.h to include/client/android
...
This intended to make clients aware that the SkPixelXorXfermode is Android-specific
This needs to land after the Chromium CL https://codereview.chromium.org/1647953006/ (Add include/client/android to skia .gn & .gypi files)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002
Committed: https://skia.googlesource.com/skia/+/aa9cb62901075e9d2858353cb041e5e6d4719614
Review URL: https://codereview.chromium.org/1645093002
2016-02-01 04:54:15 -08:00
robertphillips
2a1d401bf2
Move SkAvoidXfermode over from Android
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649503002
Review URL: https://codereview.chromium.org/1649503002
2016-01-29 08:44:17 -08:00
robertphillips
6b2c3461b0
Revert of Move SkPixelXorXfermode.h to include/client/android (patchset #5 id:80001 of https://codereview.chromium.org/1645093002/ )
...
Reason for revert:
GN woes
Original issue's description:
> Move SkPixelXorXfermode.h to include/client/android
>
> This intended to make clients aware that the SkPixelXorXfermode is Android-specific
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002
>
> Committed: https://skia.googlesource.com/skia/+/aa9cb62901075e9d2858353cb041e5e6d4719614
TBR=scroggo@google.com ,reed@google.com,djsollen@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/1644903004
2016-01-29 05:34:26 -08:00
robertphillips
aa9cb62901
Move SkPixelXorXfermode.h to include/client/android
...
This intended to make clients aware that the SkPixelXorXfermode is Android-specific
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645093002
Review URL: https://codereview.chromium.org/1645093002
2016-01-29 05:11:14 -08:00
senorblanco
d8ff5b336e
Image filters: Make a recursive, forward-mapping bounds
...
traversal which respects the CropRect. This is useful when
you want the device-space bounds of a primitive after
filtering. (This may also eventually subsume
computeFastBounds()).
This CL generalizes filterBounds() and onFilterBounds() to
take a mapping direction. It also makes filterBounds()
responsible for calling onFilterNodeBounds() and applying
the crop rect, simplifying onFilterBounds().
BUG=skia:4627
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1612953004
Review URL: https://codereview.chromium.org/1612953004
2016-01-28 08:23:02 -08:00
robertphillips
98124ef2f9
Make SkPixelXorXfermode's opColor be SkPMColor
...
Xoring an SkColor with 2 SkPMColors creates rendering inconsistencies on Macs and some Android devices in 8888.
AFAICT Android doesn't compensate for this so we may be changing SkPixelXorXfermode's behavior on Android.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1646453003
Review URL: https://codereview.chromium.org/1646453003
2016-01-28 06:41:11 -08:00
mtklein
bbb6dc80fd
kill SkValue
...
This is clearly not what we're going to do.
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643753002
Review URL: https://codereview.chromium.org/1643753002
2016-01-27 13:08:33 -08:00
robertphillips
727b7d27af
Add gpu backend for SkPixelXorXfermode
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631873002
Review URL: https://codereview.chromium.org/1631873002
2016-01-26 12:07:13 -08:00
robertphillips
64b0f5f957
Remove SkLerpXfermode
...
This relies on the Chromium CL https://codereview.chromium.org/1610573004/ (Replace use of SkLerpXfermode with SkArithmeticMode)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611633002
Review URL: https://codereview.chromium.org/1611633002
2016-01-25 14:19:56 -08:00
reed
6d3cef930a
Revert[2] of float color components
...
This reverts commit 2a2bdc6984
.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1622483002
TBR=
NOTRY=True
Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-Trybot seems wicked slow
Review URL: https://codereview.chromium.org/1622483002
2016-01-22 01:04:29 -08:00
reed
2a2bdc6984
Revert of experiment: float color components (patchset #6 id:100001 of https://codereview.chromium.org/1617813002/ )
...
Reason for revert:
broke some colormatrix tests
Original issue's description:
> experiment: float color components
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002
>
> Committed: https://skia.googlesource.com/skia/+/353c148d8e8c9031daca34c6f9d6bcc6f08706c7
TBR=fmalita@chromium.org ,mtklein@google.com,herb@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/1623453002
2016-01-22 00:04:30 -08:00
reed
353c148d8e
experiment: float color components
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1617813002
Review URL: https://codereview.chromium.org/1617813002
2016-01-21 15:29:10 -08:00
halcanary
27a6e86fb1
SkValue: SkXfermode
...
Implement:
template<> SkValue SkToValue<SkXfermode>(const SkXfermode*);
template<> bool SkFromValue<SkXfermode*>(const SkValue&, SkXfermode**);
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1585813004
NOTRY=true
Review URL: https://codereview.chromium.org/1585813004
2016-01-21 14:15:10 -08:00
ajuma
1554ec0689
Delete SkRectShaderImageFilter
...
This is no longer used (as of http://crrev.com/368929 ).
BUG=skia:4780
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1575233004
Review URL: https://codereview.chromium.org/1575233004
2016-01-12 14:17:30 -08:00
reed
c7141eb8fb
remove external header for SkModeColorFilter
...
BUG=skia:4791
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1577073002
Review URL: https://codereview.chromium.org/1577073002
2016-01-11 13:09:00 -08:00
reed
0daf5dd7fc
move declaration of CreateLightingFilter into SkColorMatrixFilter
...
BUG=skia:4791
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574023002
Review URL: https://codereview.chromium.org/1574023002
2016-01-11 12:34:04 -08:00
ajuma
77b6ba3b6e
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
2016-01-08 14:58:35 -08:00
reed
ce2dfae8c5
remove dead code from SkColorMatrixFilter
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1568783002
Review URL: https://codereview.chromium.org/1568783002
2016-01-07 06:23:48 -08:00
reed
03f8968106
move SkDither.h to private, remove unused shadeSpan16
...
Since perlin noise shader never set the kHasShad16 flag, its shadeSpan16 method was never called.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1558933002
TBR=
Review URL: https://codereview.chromium.org/1558933002
2016-01-04 05:06:07 -08:00
reed
5e1ddb1086
Reland of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1540203002/ )
...
Reason for revert:
chrome changes have landed
Original issue's description:
> Revert of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1535353002/ )
>
> Reason for revert:
> need to update some chrome/blink call-sites
>
> Original issue's description:
> > change all factories to return their base-class
> >
> > will watch DEPS roll to see if there are chrome sites needing updates
> >
> > BUG=skia:
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002
> >
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34
>
> TBR=
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2d6ba6690f8951e152d8e793191b14afd52f5506
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1533373002
2015-12-21 08:52:45 -08:00
reed
2d6ba6690f
Revert of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1535353002/ )
...
Reason for revert:
need to update some chrome/blink call-sites
Original issue's description:
> change all factories to return their base-class
>
> will watch DEPS roll to see if there are chrome sites needing updates
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1540203002
2015-12-20 20:08:43 -08:00
reed
d63f60a363
change all factories to return their base-class
...
will watch DEPS roll to see if there are chrome sites needing updates
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002
TBR=
Review URL: https://codereview.chromium.org/1535353002
2015-12-20 19:38:20 -08:00
robertphillips
e80eb928ba
Add default ctor to SkMask
...
The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea.
BUG=570232
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002
Review URL: https://codereview.chromium.org/1539553002
2015-12-17 11:33:12 -08:00
xidachen
467ddc0b24
SkBlurImageFilter returns input when sigma = 0
...
In the current implementation, a blur filter is always created even in the
case when sigma.fX == 0 && sigma.fY == 0. This CL makes the blur filter
return input in this case.
BUG=568393
Review URL: https://codereview.chromium.org/1518643002
2015-12-10 12:08:44 -08:00
scroggo
565901db95
Switch SkAutoMalloc to SkAutoTMalloc to avoid cast
...
Make SkAutoTMalloc's interface look more like SkAutoMalloc:
- add free(), which does what you expect
- make reset() return a pointer fPtr
No public API changes (SkAutoTMalloc is in include/private)
BUG=skia:2148
Review URL: https://codereview.chromium.org/1516833003
2015-12-10 10:44:13 -08:00
senorblanco
db64af3b17
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
2015-12-09 10:11:43 -08:00
halcanary
0745653a67
SkAlphaThresholdFilter.h allow flattening
...
Motivation: allows this:
#include "SkAlphaThresholdFilter.h"
void init() {
SkAlphaThresholdFilter::InitializeFlattenables();
}
BUG=skia:4613
Review URL: https://codereview.chromium.org/1500373003
2015-12-07 10:29:54 -08:00
senorblanco
a544eda5dd
Matrix convolution bounds fix; affectsTransparentBlack fixes.
...
Because the convolution kernel is (currently) applied in device space,
there's no way to know which object-space pixels will be touched. So
return false from canComputeFastBounds().
The results from the matrixconvolution GM were actually wrong, since
they were showing edge differences on the clip boundaries, where they
should really only show on crop boundaries. I added a crop to the GM
to keep the results the same (which are useful to test the different
convolution tile modes).
While I was at it, SkImageFilter::affectsTransparentBlack() was
inapplicable on most things except color filters, and its use on
leaf nodes was confusing. So I removed it, and made
SkImageFilter::canComputeFastBounds() virtual instead.
BUG=skia:4630
Review URL: https://codereview.chromium.org/1500923004
2015-12-07 07:48:34 -08:00
senorblanco
50c044b9ad
Revert of Matrix convolution bounds fix; affectsTransparentBlack fixes. (patchset #4 id:60001 of https://codereview.chromium.org/1500923004/ )
...
Reason for revert:
Introduced memory leak; pixel changes in Chrome.
Original issue's description:
> Matrix convolution bounds fix; affectsTransparentBlack fixes.
>
> Because the convolution kernel is (currently) applied in device space,
> there's no way to know which object-space pixels will be touched. So
> return false from canComputeFastBounds().
>
> The results from the matrixconvolution GM were actually wrong, since
> they were showing edge differences on the clip boundaries, where they
> should really only show on crop boundaries. I added a crop to the GM
> to keep the results the same (which are useful to test the different
> convolution tile modes).
>
> While I was at it, SkImageFilter::affectsTransparentBlack() was
> inapplicable on most things except color filters, and its use on
> leaf nodes was confusing. So I removed it, and made
> SkImageFilter::canComputeFastBounds() virtual instead.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8705ec80518ef551994b82ca5ccaeb0241d6adec
TBR=reed@google.com ,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1497083005
2015-12-05 05:59:41 -08:00
senorblanco
8705ec8051
Matrix convolution bounds fix; affectsTransparentBlack fixes.
...
Because the convolution kernel is (currently) applied in device space,
there's no way to know which object-space pixels will be touched. So
return false from canComputeFastBounds().
The results from the matrixconvolution GM were actually wrong, since
they were showing edge differences on the clip boundaries, where they
should really only show on crop boundaries. I added a crop to the GM
to keep the results the same (which are useful to test the different
convolution tile modes).
While I was at it, SkImageFilter::affectsTransparentBlack() was
inapplicable on most things except color filters, and its use on
leaf nodes was confusing. So I removed it, and made
SkImageFilter::canComputeFastBounds() virtual instead.
BUG=skia:
Review URL: https://codereview.chromium.org/1500923004
2015-12-04 13:57:31 -08:00
reed
f028003cf4
change more effects to only expose factories
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1395403002
2015-10-12 11:10:10 -07:00
reed
5ea95df02d
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 95376a0dde
.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1389083002
2015-10-06 14:05:32 -07:00
schenney
95376a0dde
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
2015-10-06 12:59:55 -07:00
reed
80a6dcaa1b
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
2015-10-06 11:12:23 -07:00
bsalomon
4a33952961
Bye bye processor data manager.
...
Review URL: https://codereview.chromium.org/1388113002
2015-10-06 08:40:51 -07:00
herb
62a69c26b3
Move Mutexy things to private.
...
There is no API change.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1368333004
2015-09-29 11:47:45 -07:00
bsalomon
e25eea4b36
Use child processors to implement compose color filter.
...
Review URL: https://codereview.chromium.org/1368423003
2015-09-29 06:38:55 -07:00
fmalita
2f5891ea64
Remove SkBitmapSource
...
To avoid breaking existing SKPs, add a deserialization stub which
unflattens SkBitmapSource records to SkImageSources.
R=reed@google.com ,mtklein@google.com,robertphillips@google.com
Review URL: https://codereview.chromium.org/1363913002
2015-09-25 09:15:55 -07:00
mdempsky
00d6e515e5
Eliminate some clutter in SkFlattenable
...
The Registrar class is unnecessary, as SkFlattenable factory
registration is now handled via initialization routines that can just
call the Register function directly.
Also, no need to lazily initialize gCount to 0, as initializing an int
to a constant value does not require dynamic initialization. (C++
actually guarantees zero initialization of global ints anyway, but
existing practice in Skia appears to favor the explicit "= 0").
Relatedly, this requires removing the unused/unimplemented
SkLayerDrawLooper::MyRegistrar class. And removing that allows Clang
to realize that SkLayerDrawLooper::fTopRec is unneeded too, so remove
that too to squelch the compiler warning/error.
This doesn't change any public API.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1361323002
2015-09-24 15:04:45 -07:00
bsalomon
ae4738f677
Create fragment processor for performing input color blend with child processor
...
The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.
Review URL: https://codereview.chromium.org/1334293003
2015-09-15 15:33:27 -07:00
fmalita
cd56f812e0
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
2015-09-14 13:31:18 -07:00
bsalomon
c21b09eec9
Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
...
Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
Review URL: https://codereview.chromium.org/1316513002
2015-08-28 18:46:56 -07:00
rmistry
a511e6ad10
Revert of Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ )
...
Reason for revert:
Primary suspect in failing DEPS rolls:
* https://codereview.chromium.org/1315753006
* https://codereview.chromium.org/1308323006
* https://codereview.chromium.org/1320903004
Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005
Original issue's description:
> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
>
> Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
TBR=joshualitt@google.com ,wangyix@google.com,robertphillips@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1313573005
2015-08-28 17:16:50 -07:00
bsalomon
ecfdc251be
Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
...
Review URL: https://codereview.chromium.org/1316513002
2015-08-28 14:33:47 -07:00
halcanary
385fe4d4b6
Style Change: SkNEW->new; SkDELETE->delete
...
DOCS_PREVIEW= https://skia.org/?cl=1316123003
Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
senorblanco
0abdf766d3
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: fdd331a42a
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
2015-08-20 11:10:41 -07:00
herb
12d8472d31
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
2015-08-20 09:28:45 -07:00
senorblanco
915881fe74
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
2015-08-20 07:42:11 -07:00
robertphillips
2f0dbc761a
Update SkLightingShader to support rotation
...
This also:
makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps.
adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class).
Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call)
Committed: https://skia.googlesource.com/skia/+/45b59ed6e4e231814dbdb9f707b3d2a7ee50de84
Review URL: https://codereview.chromium.org/1291783003
2015-08-20 05:15:07 -07:00
mtklein
d1c6b7c500
SkColorCubeFilter: require alpha == 0xFF.
...
This is about a 12% improvement on my desktop, from 134 to 118ms on our bench.
BUG=skia:
Review URL: https://codereview.chromium.org/1295873004
2015-08-19 18:56:50 -07:00
robertphillips
f7d602a458
Revert "Update SkLightingShader to support rotation"
...
This reverts commit 45b59ed6e4
.
TBR=herb@google.com
Review URL: https://codereview.chromium.org/1304673002
2015-08-19 13:11:23 -07:00
robertphillips
45b59ed6e4
Update SkLightingShader to support rotation
...
This also:
makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps.
adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class).
Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call)
Review URL: https://codereview.chromium.org/1291783003
2015-08-19 10:35:14 -07:00
robertphillips
d0cf9d831f
Remove SK_LEGACY_SKPOINT3_CTORS flag
...
Cannot land before Blink https://codereview.chromium.org/1274673002/ (Remove reliance on legacy Skia SkPoint3 ctors in FELighting.cpp)
Review URL: https://codereview.chromium.org/1269383003
2015-08-06 07:08:31 -07:00
robertphillips
a9652ac09e
Address some SkLightingShader TODOs
...
This CL:
switches the light colors to be 3 scalars (SkColor3f)
adds some dox
Review URL: https://codereview.chromium.org/1265983003
2015-07-31 05:17:24 -07:00
robertphillips
3d32d768cd
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
2015-07-13 13:16:44 -07:00
joshualitt
9cc1775e72
rename GrShaderDataManager -> GrProcessorDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1228683002
2015-07-09 06:28:14 -07:00
joshualitt
85ff25e8d9
Thread GrShaderDataManager through Image filters
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1229613002
2015-07-08 09:10:03 -07:00
joshualitt
2cff176fa2
More threading of GrShaderDataManager
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1213613016
2015-07-08 07:58:18 -07:00
joshualitt
8ca93e7c73
Initial CL to create dummy GrShaderDataManager and thread it through
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1225673007
2015-07-08 06:51:43 -07:00
robertphillips
31dc1b2db0
style nit cleanups. e.g. remove 'virtual' on override declarations
...
Review URL: https://codereview.chromium.org/1216433005
2015-07-07 10:05:18 -07:00
mtklein
2766c00fc0
remove SkInstCnt
...
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/1217573002
2015-06-26 11:45:03 -07:00
reed
af4b233d46
remove SK_SUPPORT_LEGACY_FILTERLEVEL_ENUM
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1205803002
2015-06-23 21:47:30 -07:00
robertphillips
efbffedd68
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
2015-06-22 12:06:08 -07:00
robertphillips
c3176aa5e5
Fix dst bound reported by SkTileImageFilter
...
In the example from the bug we had the filter DAG:
color filter (table)
0: xfermode filter (arith)
0: tile filter [0,80,34,114] -> [0,80,800,480]
0: color filter (table)
0: bitmap src 34x34 -> [0,80,34,114]
1: color filter (table)
0: picture filter [0, 80, 800, 480]
computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
BUG=493783
Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e
Committed: https://skia.googlesource.com/skia/+/0be685755f942baea26c66a87226b569fc17e960
Review URL: https://codereview.chromium.org/1152553006
2015-06-16 09:44:56 -07:00
reed
7147cc1500
retro add copyright
...
BUG=skia:
NOTRY=True
TBR=
Review URL: https://codereview.chromium.org/1183463002
2015-06-11 08:03:32 -07:00
robertphillips
63195181d1
Add bigtileimagefilter GM & improvements to toString
...
This is all the ancillary code from https://codereview.chromium.org/1152553006/ (Fix dst bound reported by SkTileImageFilter).
TBR=reed@google.com , senorblanco@google.com
Review URL: https://codereview.chromium.org/1169713003
2015-06-08 06:21:14 -07:00
reed
56263c78d8
delete (unused) TransparentShader
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1153193014
2015-06-05 11:31:26 -07:00
robertphillips
270fe6aad5
Revert of Fix dst bound reported by SkTileImageFilter (patchset #3 id:40001 of https://codereview.chromium.org/1152553006/ )
...
Reason for revert:
Blink
Original issue's description:
> Fix dst bound reported by SkTileImageFilter
>
> In the example from the bug we had the filter DAG:
>
> color filter (table)
> 0: xfermode filter (arith)
> 0: tile filter [0,80,34,114] -> [0,80,800,480]
> 0: color filter (table)
> 0: bitmap src 34x34 -> [0,80,34,114]
> 1: color filter (table)
> 0: picture filter [0, 80, 800, 480]
>
> computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
>
> This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
>
> BUG=493783
>
> Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e
>
> Committed: https://skia.googlesource.com/skia/+/0be685755f942baea26c66a87226b569fc17e960
TBR=reed@google.com ,senorblanco@google.com,senorblanco@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=493783
Review URL: https://codereview.chromium.org/1156583004
2015-06-04 11:15:27 -07:00
robertphillips
0be685755f
Fix dst bound reported by SkTileImageFilter
...
In the example from the bug we had the filter DAG:
color filter (table)
0: xfermode filter (arith)
0: tile filter [0,80,34,114] -> [0,80,800,480]
0: color filter (table)
0: bitmap src 34x34 -> [0,80,34,114]
1: color filter (table)
0: picture filter [0, 80, 800, 480]
computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
BUG=493783
Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e
Review URL: https://codereview.chromium.org/1152553006
2015-06-04 06:53:37 -07:00
robertphillips
a66cc7e1e0
Revert of Fix dst bound reported by SkTileImageFilter (patchset #3 id:40001 of https://codereview.chromium.org/1152553006/ )
...
Reason for revert:
breaking tests
Original issue's description:
> Fix dst bound reported by SkTileImageFilter
>
> In the example from the bug we had the filter DAG:
>
> color filter (table)
> 0: xfermode filter (arith)
> 0: tile filter [0,80,34,114] -> [0,80,800,480]
> 0: color filter (table)
> 0: bitmap src 34x34 -> [0,80,34,114]
> 1: color filter (table)
> 0: picture filter [0, 80, 800, 480]
>
> computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
>
> This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
>
> BUG=493783
>
> Committed: https://skia.googlesource.com/skia/+/05be93bbdf09576f7903130e3b106b0a8c7c4b4e
TBR=reed@google.com ,senorblanco@google.com,senorblanco@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=493783
Review URL: https://codereview.chromium.org/1143083006
2015-06-02 10:57:26 -07:00
robertphillips
05be93bbdf
Fix dst bound reported by SkTileImageFilter
...
In the example from the bug we had the filter DAG:
color filter (table)
0: xfermode filter (arith)
0: tile filter [0,80,34,114] -> [0,80,800,480]
0: color filter (table)
0: bitmap src 34x34 -> [0,80,34,114]
1: color filter (table)
0: picture filter [0, 80, 800, 480]
computeFastBounds was coming out of the DAG with a bound of [0,80,34,114] which didn't represent the pixels that would be drawn.
This CL updates SkTileImageFilter to correctly set the bound for the pixels it will hit.
BUG=493783
Review URL: https://codereview.chromium.org/1152553006
2015-06-02 10:52:43 -07:00
reed
71a6cbfc58
remove redundant/deprecated TwoPointRadial gradiet -- use TwoPointConical
...
This CL derived from https://codereview.chromium.org/1114243005/
BUG=skia:
Review URL: https://codereview.chromium.org/1117423003
2015-05-04 08:32:51 -07:00
jvanverth
cfc18867d9
Use GLSLCaps for creating processor keys and GLSL-specific programs
...
Effectively all this does is future-proof any GLSL-specific code, as
GLSLCaps is just a typedef of GLCaps.
BUG=skia:
Review URL: https://codereview.chromium.org/1109863004
2015-04-28 08:48:20 -07:00
robertphillips
e275fdf812
Add GM to repro crbug.com/472795
...
This CL also adds a new parameter to SkBitmapSource which gives the user control of the filter quality.
BUG=472795
Review URL: https://codereview.chromium.org/1072603002
2015-04-09 06:47:12 -07:00
mtklein
c9adb05b64
Refactor Sk2x<T> + Sk4x<T> into SkNf<N,T> and SkNi<N,T>
...
The primary feature this delivers is SkNf and SkNd for arbitrary power-of-two N. Non-specialized types or types larger than 128 bits should now Just Work (and we can drop in a specialization to make them faster). Sk4s is now just a typedef for SkNf<4, SkScalar>; Sk4d is SkNf<4, double>, Sk2f SkNf<2, float>, etc.
This also makes implementing new specializations easier and more encapsulated. We're now using template specialization, which means the specialized versions don't have to leak out so much from SkNx_sse.h and SkNx_neon.h.
This design leaves us room to grow up, e.g to SkNf<8, SkScalar> == Sk8s, and to grown down too, to things like SkNi<8, uint16_t> == Sk8h.
To simplify things, I've stripped away most APIs (swizzles, casts, reinterpret_casts) that no one's using yet. I will happily add them back if they seem useful.
You shouldn't feel bad about using any of the typedef Sk4s, Sk4f, Sk4d, Sk2s, Sk2f, Sk2d, Sk4i, etc. Here's how you should feel:
- Sk4f, Sk4s, Sk2d: feel awesome
- Sk2f, Sk2s, Sk4d: feel pretty good
No public API changes.
TBR=reed@google.com
BUG=skia:3592
Review URL: https://codereview.chromium.org/1048593002
2015-03-30 10:50:27 -07:00
mtklein
36352bf5e3
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
2015-03-25 18:17:32 -07:00
reed
62a320c8d4
Revert of Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #1 id:1 of https://codereview.chromium.org/1022673007/ )
...
Reason for revert:
fix for chrome has landed...
Original issue's description:
> Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/ )
>
> Reason for revert:
> skia/ext/benchmarking_canvas.cc references HasFilter16 :(
>
> Original issue's description:
> > remove colorfilter native-565 support. complicating w/ no real value.
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710
>
> TBR=reed@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/92b47c49016749249ff8521e424c4373b4a74241
TBR=reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1016103004
2015-03-24 06:35:23 -07:00
reed
92b47c4901
Revert of remove colorfilter native-565 support. complicating w/ no real value. (patchset #2 id:20001 of https://codereview.chromium.org/1015533011/ )
...
Reason for revert:
skia/ext/benchmarking_canvas.cc references HasFilter16 :(
Original issue's description:
> remove colorfilter native-565 support. complicating w/ no real value.
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/2151353d161fe389cdc0db62cfe1932c7680f710
TBR=reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1022673007
2015-03-24 05:18:09 -07:00
reed
b67eb2f9b9
Revert "Revert of impl colormatrix w/ floats (patchset #7 id:120001 of https://codereview.chromium.org/967943002/ )"
...
disabled for the momment -- need to understand arm64 glitches
This reverts commit 374a4c3b74
.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1028403002
2015-03-24 04:13:45 -07:00
reed
2151353d16
remove colorfilter native-565 support. complicating w/ no real value.
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1015533011
2015-03-24 03:50:22 -07:00
reed
374a4c3b74
Revert of impl colormatrix w/ floats (patchset #7 id:120001 of https://codereview.chromium.org/967943002/ )
...
Reason for revert:
Arm64 seems to be having glitches :(
See gm:colormatrix on Arm64/TegraK1/Nexus9
last square should be all white, but it has stripes
Original issue's description:
> impl colormatrix w/ floats
>
> this needs to land first https://codereview.chromium.org/1031713003
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7971def11be91ed08eae7107b372322d24e67544
TBR=mtklein@google.com ,caryclark@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1030743003
2015-03-23 18:52:57 -07:00
reed
7971def11b
impl colormatrix w/ floats
...
this needs to land first https://codereview.chromium.org/1031713003
BUG=skia:
Review URL: https://codereview.chromium.org/967943002
2015-03-23 14:35:25 -07:00
senorblanco
8c874eee94
Move SkMatrixImageFilter into core, and add a factory fn for it.
...
BUG=skia:
Review URL: https://codereview.chromium.org/1011273003
2015-03-20 06:38:17 -07:00
senorblanco
977b6f7e7b
Remove deprecated flavour of SkDropShadowImageFilter::Create().
...
Review URL: https://codereview.chromium.org/1026603002
2015-03-20 06:38:00 -07:00
senorblanco
6c1b338827
Remove now-unused uniqueID param from SkDropShadowImageFilter::Create().
...
Also make both input & crop rect default NULL, as in other filter Create functions.
BUG=skia:
Review URL: https://codereview.chromium.org/1016343002
2015-03-19 13:39:19 -07:00
senorblanco
24e06d5244
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
2015-03-18 12:11:33 -07:00
reed
82b0748f1c
remove dead code
...
BUG=skia:
Review URL: https://codereview.chromium.org/1016523002
2015-03-16 13:56:42 -07:00
reed
93a1215fe0
SkPaint::FilterLevel -> SkFilterQuality
...
clone (+rebase) of https://codereview.chromium.org/1009183002/
BUG=skia:
TBR=scroggo@google.com
Review URL: https://codereview.chromium.org/1014533004
2015-03-16 10:08:34 -07:00
reed
cedc36f18b
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
2015-03-08 04:42:52 -07:00
djsollen
961707f384
Remove SkPorterDuff now that Android has been updated.
...
BUG=skia:3178
Review URL: https://codereview.chromium.org/983743003
2015-03-05 12:42:29 -08:00