Commit Graph

3262 Commits

Author SHA1 Message Date
fmalita
3a94c6c62c Add SkAutoPixmapStorage::detachPixelsAsData()
Allows passing pixels ownership to clients.

BUG=skia:4896
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662353002

Review URL: https://codereview.chromium.org/1662353002
2016-02-04 13:09:59 -08:00
erikchen
92098e691f skia: Add support for CHROMIUM_image backed textures.
I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Review URL: https://codereview.chromium.org/1623653002
2016-02-04 12:03:08 -08:00
reed
f7cdb06d62 extend compose-colorfilter to 4f
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664663003

Review URL: https://codereview.chromium.org/1664663003
2016-02-04 11:35:27 -08:00
robertphillips
b6c65e9995 Add SkSpecialImage & SkSpecialSurface classes
Initial classes.

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

Review URL: https://codereview.chromium.org/1579323002
2016-02-04 10:52:42 -08:00
benjaminwagner
ff172dab92 Revert of Work around exasperating Google3 Android build error. (patchset #1 id:1 of https://codereview.chromium.org/1649493005/ )
Reason for revert:
This workaround no longer seems to be necessary.

Original issue's description:
> Work around exasperating Google3 Android build error.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005
>
> Committed: https://skia.googlesource.com/skia/+/900901fb1ba5170549670829fc8f9d9b590ff5f0

TBR=mtklein@google.com,reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1669663003
2016-02-03 16:29:25 -08:00
Brian Salomon
de3a726ad3 Make SkImage::readYUV8Planes const
TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1660393003 .
2016-02-03 17:09:00 -05:00
senorblanco
afc7cce5d6 Fix for rounded-rect clips with filters.
Don't use the base canvas size to limit raster of complex clips, since
the top canvas size may actually be larger (e.g., a blur filter which
expands the clip bounds to accommodate filter margins). Use the top
canvas bounds instead.

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

Review URL: https://codereview.chromium.org/1657333002
2016-02-02 18:44:16 -08:00
benjaminwagner
67e8bd2072 Revert of Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files. (patchset #2 id:50001 of https://codereview.chromium.org/1656143003/ )
Reason for revert:
See https://codereview.chromium.org/1665603002

Original issue's description:
> Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files.
>
> Does not change the public API.
>
> TBR=reed
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003
>
> Committed: https://skia.googlesource.com/skia/+/c92159c8250c62cc47b7b63686538d61d54d2835

TBR=mtklein@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/1666503002
2016-02-02 16:01:39 -08:00
benjaminwagner
c92159c825 Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files.
Does not change the public API.

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

Review URL: https://codereview.chromium.org/1656143003
2016-02-02 12:48:14 -08:00
bsalomon
f267c1efe7 Add ability to extract YUV planes from SkImage
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1513393002

Review URL: https://codereview.chromium.org/1513393002
2016-02-01 13:16:14 -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
xidachen
2352696313 Replace the id<-->key hashmap in SkImageFilter by a SkTArray
In the current implementation, SkImageFilter::Cache maintains a hash map
that maps SkImageFilter's uniqueID to an array of keys, and its purpose
is to remove the values in Cache that are associated with this array of
keys that are indexed by uniqueID. However, maintaining this hash map
causes perf regression to smoothness.tough_filters_cases.

This CL removes the id<-->key hashmap. Instead, we maintain an array of
keys in SkImageFilter. Whenever there is a new key, we push it into the
array. In ~SkImageFilter(), we call Cache::purgeByKeys to remove all the
values that are associated with the keys that are maintained by SkImageFilter.

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

Review URL: https://codereview.chromium.org/1651433002
2016-02-01 05:27:16 -08:00
reed
395eabeb0e float components in xfermodes
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623483002

TBR=mtklein

Review URL: https://codereview.chromium.org/1634273002
2016-01-30 18:52:31 -08:00
bsalomon
8e74f80ca1 Add SkImage factory method that forces image to be resolved to a texture.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631053003

Review URL: https://codereview.chromium.org/1631053003
2016-01-30 10:01:40 -08:00
reed
9cd016e9b6 allow the caller to specified raster-surface rowbytes.
along the way, simplify how we copy the surface's bitmap

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

Review URL: https://codereview.chromium.org/1643873002
2016-01-30 10:01:06 -08:00
djsollen
f2b340fc88 Consolidate SK_CRASH and sk_throw into SK_ABORT
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648343003

Review URL: https://codereview.chromium.org/1648343003
2016-01-29 08:51:04 -08:00
reed
fbc1e296b2 starter procs for blending with pm4f
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
   8/8   MB	4	87.1µs	91µs	89.8µs	92µs	2%	▇▇▇▇█▇▅▁▁▁	nonrendering	xfer4f_srcover_N_opaque_linear
   9/9   MB	2	196µs	196µs	215µs	383µs	27%	▁▁▁▁█▁▁▁▁▁	nonrendering	xfer4f_srcover_N_opaque_srgb
   9/9   MB	1	313µs	313µs	313µs	313µs	0%	▁▄▅▅▅▂████	nonrendering	xfer4f_srcover_N_alpha_linear
   9/9   MB	1	580µs	580µs	582µs	602µs	1%	▁▁▁▁▁▁▂▁▁█	nonrendering	xfer4f_srcover_N_alpha_srgb
   9/9   MB	23	13.1µs	13.1µs	13.1µs	13.1µs	0%	▆▄▄█▂▂▂▁▂▁	nonrendering	xfer4f_srcover_1_opaque_linear
   9/9   MB	23	13.2µs	13.2µs	13.2µs	13.2µs	0%	█▄▂▁▃▁▂▂▂▂	nonrendering	xfer4f_srcover_1_opaque_srgb
   9/9   MB	2	178µs	183µs	183µs	185µs	1%	▇▇▇█▇▇▇▇▇▁	nonrendering	xfer4f_srcover_1_alpha_linear
   9/9   MB	1	517µs	517µs	517µs	517µs	0%	▇█▄▃▄▁▂▁▂▄	nonrendering	xfer4f_srcover_1_alpha_srgb

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

TBR=
landing now so these incremental types/functions can be used to collaborate with herb's work. nothing is active at this point

Review URL: https://codereview.chromium.org/1642703003
2016-01-29 05:22:59 -08:00
fmalita
54d60293ce SaveFlags begone!
This is now dead code (post https://codereview.chromium.org/1636103002).

R=reed@google.com,robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648773002

Review URL: https://codereview.chromium.org/1648773002
2016-01-28 13:14:53 -08:00
benjaminwagner
900901fb1b Work around exasperating Google3 Android build error.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005

Review URL: https://codereview.chromium.org/1649493005
2016-01-28 12:55:31 -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
fmalita
4c5f1f6114 Remove SK_SUPPORT_LEGACY_SAVEFLAGS define on Android
Android is the only platform still using SK_SUPPORT_LEGACY_SAVEFLAGS
(indirectly, due to SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG).

At this point it should be safe to remove the define.

R=djsollen@google.com,scroggo@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1636103002

Review URL: https://codereview.chromium.org/1636103002
2016-01-27 18:46:30 -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
lsalzman
05332d9c8a check for both __ARM_NEON__ and __ARM_NEON
No public API changes.
TBR=reed@google.com

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

Review URL: https://codereview.chromium.org/1630903004
2016-01-26 07:34:51 -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
caryclark
a273c0f667 remove legacy defines
The defines

SK_SUPPORT_LEGACY_ARCTO
SK_SUPPORT_LEGACY_CONIC_MEASURE
SK_SUPPORT_LEGACY_DASH_MEASURE
SK_SUPPORT_LEGACY_HAIR_IGNORES_CAPS
SK_SUPPORT_LEGACY_PATH_MEASURE_TVALUE

have been removed from Chrome. This removes the obsolete code
from Skia as well.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1627703002

Review URL: https://codereview.chromium.org/1627703002
2016-01-25 06:33:02 -08:00
fmalita
53d9f1cfbd SK_SUPPORT_LEGACY_DRAWFLTER typo
s/FLTER/FILTER/

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1634573002

Review URL: https://codereview.chromium.org/1634573002
2016-01-25 06:23:54 -08:00
mtklein
1138be45ea Revert of skstd -> std for unique_ptr (patchset #24 id:460001 of https://codereview.chromium.org/1436033003/ )
Reason for revert:
Still need an answer for SkAdvancedTypefaceMetrics (at least for Google3 iOS build).

Original issue's description:
> skstd -> std for unique_ptr
>
> TBR=reed@google.com
> No public API changes.
>
> BUG=skia:4564
>
> Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50
>
> CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065
>
> Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c
>
> Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003
>
> Committed: https://skia.googlesource.com/skia/+/ccf1de0d9aa75f29829f1c4c462214b991fd8c9e

TBR=bungeman@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:4564

Review URL: https://codereview.chromium.org/1626873004
2016-01-24 19:49:24 -08:00
mtklein
ccf1de0d9a skstd -> std for unique_ptr
TBR=reed@google.com
No public API changes.

BUG=skia:4564

Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot

Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065

Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c

Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003

Review URL: https://codereview.chromium.org/1436033003
2016-01-24 19:18:54 -08:00
reed
7f225cf32e Revert[2] of expand unitests for color4f
This reverts commit 5f34e8ed82.

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

TBR=

Review URL: https://codereview.chromium.org/1622983002
2016-01-23 19:37:56 -08:00
reed
5f34e8ed82 Revert of expand unitests for color4f (patchset #1 id:1 of https://codereview.chromium.org/1622893002/ )
Reason for revert:
leaking shadercontext in test

Original issue's description:
> expand unitests for color4f
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1622893002
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/fac684502b6047ffc7dc2e59bd7e5a7cbfa5bf78

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/1622923002
2016-01-23 14:19:06 -08:00
reed
fac684502b expand unitests for color4f
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1622893002

TBR=

Review URL: https://codereview.chromium.org/1622893002
2016-01-23 10:15:39 -08:00
caryclark
55d49053d1 Add svg path arcto
The arcto() used by SVG in Chrome and Android is ported here, using conics
instead of cubics. The logic is a direct transposition of the WebKit code.

The attached GM includes SVG that draws the same as Skia.

R=reed@google.com
BUG=skia:3959
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1613303002

Review URL: https://codereview.chromium.org/1613303002
2016-01-23 05:07:04 -08:00
mtklein
24c2720bd7 try removing attribute((aligned(16))
CQ_EXTRA_TRYBOTS=client.skia:Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot

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

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1618873005
2016-01-22 09:50:20 -08:00
djsollen
aa97a84404 Revert of Consolidate SK_CRASH and sk_throw into SK_ABORT (patchset #5 id:80001 of https://codereview.chromium.org/1610823002/ )
Reason for revert:
Chrome is calling SK_CRASH

Original issue's description:
> Consolidate SK_CRASH and sk_throw into SK_ABORT
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
>
> Committed: https://skia.googlesource.com/skia/+/4c5cd7d527ed29aabfa72aa47b23a4496eeda357

TBR=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/1620333002
2016-01-22 06:50:25 -08:00
djsollen
4c5cd7d527 Consolidate SK_CRASH and sk_throw into SK_ABORT
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002

Review URL: https://codereview.chromium.org/1610823002
2016-01-22 06:04:55 -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
fmalita
7765000709 Hide SkCanvas::{set,get}DrawFilter
Except for Android, which still makes use of it.

BUG=skia:3587
R=reed@google.com,djsollen@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1618843002

Review URL: https://codereview.chromium.org/1618843002
2016-01-21 18:47:11 -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
caryclark
1a7eb26664 resolution dependent path measure
When a dash is drawn through a canvas with a scaled up
matrix, path measure needs the pixel resolution through
the matrix to construct the dash with sufficient
resolution.

Pass the resolution through to path measure.

Replicate chrome bug in skia GM.

R=reed@google.com
BUG=530095
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1608353002

Review URL: https://codereview.chromium.org/1608353002
2016-01-21 07:07:02 -08:00
fs
b1475b0d41 Add SkPath::isLastContourClosed()
Adds a simple method for checking if the last command/verb in the
current contour is a 'close'.

This will simplify determining "closedness" for blink::Path, and aid
in the implementation of algorithms such as:

https://drafts.fxtf.org/motion-1/#motion-processing (second item in list)

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

Review URL: https://codereview.chromium.org/1601103006
2016-01-20 09:51:08 -08:00
caryclark
b6474dd1a5 fix circular dashing
Path measure cannot use the same code approach for quadratics
and cubics. Subdividing cubics repeatedly does not result in
subdivided t values, e.g. a quarter circle cubic divided in
half twice does not have a t value equivalent to 1/4.

Instead, always compute the cubic segment from a pair of
t values.

When finding the length of the cubic through recursive measures,
it is enough to carry the point at a given t to the next
subdivision.

(Chrome suppression has landed already.)

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1602153002

Review URL: https://codereview.chromium.org/1602153002
2016-01-19 08:07:50 -08:00
robertphillips
1de87df0b7 Refactor to use GrWrapTextureInBitmap more
Too many wrap_texture methods!

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

Review URL: https://codereview.chromium.org/1584933002
2016-01-14 06:03:29 -08:00
reed
fa2b3a376d remove CreateLightingFilter from SkColorFilter
All callers have converted over to SkColorMatrixFilter

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

Review URL: https://codereview.chromium.org/1583923002
2016-01-13 10:43:09 -08:00
reed
6054d686e6 reorg global initialization, separating core from optional
Chrome will be changed to just inherit our files, with no need to have their own copy. see https://codereview.chromium.org/1581533007/

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

Review URL: https://codereview.chromium.org/1580873002
2016-01-13 08:47:54 -08:00
fmalita
61a237e319 SkPaintFilterCanvas cleanup
All external clients have been updated, we can now remove the
transitional kludges.

BUG=skia:4782
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574303003

Review URL: https://codereview.chromium.org/1574303003
2016-01-12 12:14:10 -08:00
halcanary
2b12376849 SkTime: Stop using POSIX entensions to time.h for timezone
SkTime::GetDateTime() isn't used anywhere in production, so
change it to return current UTC time, rather than local time.

Also, move code into SkTime out of ports.

A later CL will remove empty files.

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

[mtklein]
Only deleting unused API.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1562943002
2016-01-12 11:55:29 -08:00
caryclark
c63a0f8fe5 clamp fixed divide to 32 bits
In SkEdge::setLine, the numerator is a 26.6 fixed number.
SkFixedDiv shifts it up by an additional 16 bits. If the
y interval is small, the result overflows 32 bits.

The code pins in 64 bit space before down-casting the result.

R=reed@google.com
BUG=skia:4708
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1583453002

Review URL: https://codereview.chromium.org/1583453002
2016-01-12 07:21:19 -08:00
fmalita
32cdc32522 SkTCopyOnFirstWrite-based SkPaintFilterCanvas API
I find this version preferable because

1) it consolidates the in/out paint args without compromising
efficiency or flexibility

2) relieves overriders from having to set the SkTLazy explicitly

BUG=skia:4782
R=mtklein@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1576183002

Review URL: https://codereview.chromium.org/1576183002
2016-01-12 07:21:11 -08:00