History log of /external/skia/src/core/SkGeometry.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0a78e1e37ebdb3250f472a64b067fa463bea37ff 22-Feb-2018 Mike Reed <reed@google.com> handle conic underflow calc

w0 and w2 can both be non-zero, but w2*w0 can be zero -- unless we promote to doubles

Bug: oss-fuzz:6506
Change-Id: Id0716e22e1d989d2eb6d86417575cf917a31cb89
Reviewed-on: https://skia-review.googlesource.com/109480
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/core/SkGeometry.cpp
a0e30b1e40459629e48c5e59f7385b51067e31d6 02-Feb-2018 Cary Clark <caryclark@skia.org> switch to double in conic split on infinities

If the input conic doesn't contain infinities, it should be possible
to compute the split conic without infinities as well. Fix the case
fuzzer exposes.

R=reed@google.com,fmalita@chromium.org
Bug: skia:7435
Change-Id: Ic128fa14ea0622188e5c43efc16b684efa342e9e
Reviewed-on: https://skia-review.googlesource.com/102425
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
/external/skia/src/core/SkGeometry.cpp
fc31be40cede4dfd5b06ecaffb551b06aea85693 09-Nov-2017 Chris Dalton <csmartdalton@google.com> Harden SkClassifyCubic

BUG=chromium:743617
Change-Id: Idfb89832b48ebd60fd9109cd526bdd5cd5931ada
Reviewed-on: https://skia-review.googlesource.com/68980
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
df429f3beac1c191289ba1e3bd918bf84df57bf5 08-Nov-2017 Cary Clark <caryclark@skia.org> move parts of SkPoint to SkPointPriv

Move specialized SkPoint methods to SkPointPriv.
Use constexpr and inline initialization where possible.

R=reed@google.com,bsalomon@google.com
Bug: skia: 6898
Change-Id: I01ec5186f010f2dc80c068c70d9cc352f3221338
Reviewed-on: https://skia-review.googlesource.com/68700
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
/external/skia/src/core/SkGeometry.cpp
4dbdc677affd61309f1da173096089fdd20219b3 31-Oct-2017 Chris Dalton <csmartdalton@google.com> Fix undefined behavior in normalize_t_s

BUG=chromium:743617

Change-Id: I00ad3103cdd5b7d2eac3b6827a3c2932009042a9
Reviewed-on: https://skia-review.googlesource.com/65860
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
e4442cb0b537720ab32106b3b5353dbb78f11b26 18-Oct-2017 Cary Clark <caryclark@skia.org> convert mapHomogeneousPoints to SkPoint3

SkMatrix::mapHomogeneousPoints takes an array of SkScalar,
but expects essentially SkPoint3, so make it so.


R: robertphillips@google.com, reed@google.com
Bug: skia:6898
Change-Id: Ibaf8b05c08b7df16c67d6a77d914667ace9a70da
Reviewed-on: https://skia-review.googlesource.com/58380
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
/external/skia/src/core/SkGeometry.cpp
63fd760a37905c45d26fc3d49cac261fad1b4808 09-Oct-2017 Ben Wagner <bungeman@google.com> Remove trailing whitespace.

Also adds a presubmit to prevent adding trailing whitespace to source
code in the future.

Change-Id: I41a4df81487f6f00aa19b188f0cac6a3377efde6
Reviewed-on: https://skia-review.googlesource.com/57380
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/core/SkGeometry.cpp
29011a2bda560a645e6ddbe162df0856fe259e7b 28-Sep-2017 Chris Dalton <csmartdalton@google.com> Remove tolerance form SkClassifyCubic

It's too inexact as-is. If the caller wants tolerance they can do
their own with knowledge of the pixel grid. The homogeneous math
is stable with infinities so it's really unnecessary here.

Bug: skia:7073
Change-Id: I4dc34ad96b859a138714b6d4f8804fec4f89f17a
Reviewed-on: https://skia-review.googlesource.com/51182
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/core/SkGeometry.cpp
e0e20755f6c09b71038ced2bf4a00b4c4593f504 17-Aug-2017 Stephen White <senorblanco@chromium.org> If a conic contains any infinite points, abort chopping to quads.

Otherwise bad things (asserts, bogus data, dogs and cats living
together, mass hysteria).

Bug: 755043
Change-Id: I64cd1dacf553463f18babcb24deb2be08c762c67
Reviewed-on: https://skia-review.googlesource.com/35730
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
/external/skia/src/core/SkGeometry.cpp
91982ee8d92a80193915d59760e2ba9ce6f46989 14-Jul-2017 Chris Dalton <csmartdalton@google.com> Fix SkClassifyCubic for near-quadratics

Fixes the threshold logic for "0 ~= d1 && 0 ~= d2".

Previously, if d1 and d2 were both near zero, but on opposite sides
of the threshold, the curve could be misclassified as kCuspAtInfinity
and drawn incorrectly.

Bug: skia:
Change-Id: I65f30ddebf0a4a0b933610d8cc1a2f489efc99e4
Reviewed-on: https://skia-review.googlesource.com/22400
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
/external/skia/src/core/SkGeometry.cpp
4a80f5eec4cee403b646838734417bbb8c2e07e0 29-Jun-2017 Chris Dalton <csmartdalton@google.com> Decrease the tolerance for classifying degenerate cubics

Bug: skia:
Change-Id: I118f52301146ed7a7333d4f6bd2297d500a0df97
Reviewed-on: https://skia-review.googlesource.com/21187
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
390f6cd6f9f9ddd8a53da804cee3eff60cd2e2b4 12-Jun-2017 Chris Dalton <csmartdalton@google.com> Convert SkClassifyCubic to double precision

Even though it's in homogeneous coordinates, we still get unfortunate
artifacts if this math is not done in double precision. Prioritizing
correctness for now; we can revisit in the future as the need for
performance dictates.

Bug: skia:
Change-Id: If416ef6b70291f1454fcb9f7630d1108644ac2a5
Reviewed-on: https://skia-review.googlesource.com/19501
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/core/SkGeometry.cpp
febbffad1c24136f041d7fc2d5ffcd50e47a047f 08-Jun-2017 Chris Dalton <csmartdalton@google.com> Improve cubic KLM accuracy

Moves cubic root finding logic out of GrPathUtils and
PathOpsCubicIntersectionTest, and unifies it in SkGeometry.

"Normalizes" the homogeneous parameter values of the roots, rather
than the cubic inflection function. Does this normalization by
twiddling the exponents instead of division (which causes a loss of
precision).

Abandons the built-in derivatives in GrCubicEffect. These don't have
high enough precision on many mobile gpus. Instead we pass the KLM
matrix to the vertex shader via uniform, where we can use it to set up
new linear functionals from which the fragment shader can calculate
the gradient of the implicit function.

Bug: skia:4410
Change-Id: Ibd64e999520adc8cdef7803a492d3699995aef5a
Reviewed-on: https://skia-review.googlesource.com/19017
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
4343654bc4a93812cba168a665deef0de2ebcfdd 13-Apr-2017 Chris Dalton <csmartdalton@google.com> Improve accuracy of cubic classification

- Updates the logic to reflect the Loop-Blinn paper instead of the GPU
gems website.
- Removes the threshold for detecting local cusps. The serpentine
codepath works for these cusps anyway, so what we really want to know
is whether the discriminant is negative.
- Makes sure to not scale the inflection function by 1/0.
- Shifts the inflection function coefficients in d[] so they match the
paper.
- Stores the cubic discriminant in d[0].

Bug: skia:
Change-Id: I909a522a0fd27c9c8dfbc27d968bc43eeb7a416f
Reviewed-on: https://skia-review.googlesource.com/13304
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
6e93584e840fc769e804170aadf64177760ab569 09-Mar-2017 csmartdalton <csmartdalton@google.com> Add tolerance to quadratic and linear cubic detection

Otherwise these can be misclassified as cusps since there is already
tolerance in the discriminant test.

BUG=skia:

Change-Id: Id02c12f671714cebf799953ebed5335ee4c4d52a
Reviewed-on: https://skia-review.googlesource.com/9355
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
/external/skia/src/core/SkGeometry.cpp
08d57e6ae6510a7724119ab548485b4fcbd0a48d 05-Jan-2017 Florin Malita <fmalita@chromium.org> Remove SK_SUPPORT_LEGACY_EVAL_CUBIC-guarded code

To land after http://crrev.com/2610923004.

R=caryclark@google.com

Change-Id: I0a748801be06530f98009e977e816c90f1ef5934
Reviewed-on: https://skia-review.googlesource.com/6611
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/core/SkGeometry.cpp
414c4295f951d43068666b6294df15b2fd2ba85c 26-Sep-2016 caryclark <caryclark@google.com> allow conic chop to fail

Fuzzy values may cause the conic chop to fail.

Check to see if the values are all finite, and
require the caller to do the same.

R=reed@google.com
BUG=650178
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368993002

Review-Url: https://codereview.chromium.org/2368993002
/external/skia/src/core/SkGeometry.cpp
bac104605ef3d9a8ed0022694990f00518b809e9 22-Sep-2016 caryclark <caryclark@google.com> Reland of ix for conic fuzz (patchset #1 id:1 of https://codereview.chromium.org/2361473004/ )

Reason for revert:
Landed suppression in Chrome's LayoutTests/TestExpectations

Original issue's description:
> Revert of fix for conic fuzz (patchset #3 id:40001 of https://codereview.chromium.org/2350263003/ )
>
> Reason for revert:
> See if this fixes the layout tests.
>
> Original issue's description:
> > fix for conic fuzz
> >
> > A fuzzer generates a conic that hangs when drawn.
> > The quads that approximate the conics move up and down
> > in y, confusing the renderer.
> >
> > This fix ensures that the split conic maintains the
> > same y direction as the original conic.
> >
> > R=reed@google.com
> > BUG=647922
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003
> >
> > Committed: https://skia.googlesource.com/skia/+/ac78863acdef4b428aaf66985b80c76d1be0fdea
>
> TBR=reed@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=647922
>
> Committed: https://skia.googlesource.com/skia/+/08b345588414b861af8a55950e7dc21a1bd85a28

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

Review-Url: https://codereview.chromium.org/2359253002
/external/skia/src/core/SkGeometry.cpp
08b345588414b861af8a55950e7dc21a1bd85a28 22-Sep-2016 caryclark <caryclark@google.com> Revert of fix for conic fuzz (patchset #3 id:40001 of https://codereview.chromium.org/2350263003/ )

Reason for revert:
See if this fixes the layout tests.

Original issue's description:
> fix for conic fuzz
>
> A fuzzer generates a conic that hangs when drawn.
> The quads that approximate the conics move up and down
> in y, confusing the renderer.
>
> This fix ensures that the split conic maintains the
> same y direction as the original conic.
>
> R=reed@google.com
> BUG=647922
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003
>
> Committed: https://skia.googlesource.com/skia/+/ac78863acdef4b428aaf66985b80c76d1be0fdea

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

Review-Url: https://codereview.chromium.org/2361473004
/external/skia/src/core/SkGeometry.cpp
ac78863acdef4b428aaf66985b80c76d1be0fdea 22-Sep-2016 caryclark <caryclark@google.com> fix for conic fuzz

A fuzzer generates a conic that hangs when drawn.
The quads that approximate the conics move up and down
in y, confusing the renderer.

This fix ensures that the split conic maintains the
same y direction as the original conic.

R=reed@google.com
BUG=647922
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003

Review-Url: https://codereview.chromium.org/2350263003
/external/skia/src/core/SkGeometry.cpp
e97fe839728aa77a413353395b5a4c94c4c1d931 06-Sep-2016 caryclark <caryclark@google.com> compare degenerates with tolerance

Conics with very large w values can
be approximated with two straight lines.

This avoids iterating endlessly in an
attempt to create quadratics with unstable
numerics.

Check to see if the first chop generated
a pair of lines within the default
point comparison tolerance.

R=reed@google.com
BUG=643933, 643665
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2312923002

Review-Url: https://codereview.chromium.org/2312923002
/external/skia/src/core/SkGeometry.cpp
f71ab8f58b0a7abb7818cf665dfb116ef370d572 26-Aug-2016 caryclark <caryclark@google.com> avoid generating degenerate conic from arc

R=bsalomon@google.com
BUG=skia:5672
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281953002

Review-Url: https://codereview.chromium.org/2281953002
/external/skia/src/core/SkGeometry.cpp
3cebe24682ea8bea3bcab400ff1c79b8e0b12ff0 23-Aug-2016 caryclark <caryclark@google.com> fix conic path fuzz

The test conic has a very large weight, so it reduces to a pair
of lines. Detect this case rather than subdividing the conic
so much that the answers are meaningless.

R=herb@google.com, reed@google.com
BUG=638223
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2268073004

Review-Url: https://codereview.chromium.org/2268073004
/external/skia/src/core/SkGeometry.cpp
b1b12f8666a48b8ff1367beed97bc84032552ac8 13-Jul-2016 reed <reed@google.com> handle large conic weights

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

Review-Url: https://codereview.chromium.org/2142393003
/external/skia/src/core/SkGeometry.cpp
93ca884879e3469b46d32c36deb7b46f2fff1c0c 27-May-2016 caryclark <caryclark@google.com> pin before calling acos

Adobe reports some user crashes in acos(). While the cause is
unknown, it's safe and may help stability to pin the input
in case the arguments drifted slightly outside [-1, 1].

R=reed@google.com
BUG=skia:5222
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2006653006

Review-Url: https://codereview.chromium.org/2006653006
/external/skia/src/core/SkGeometry.cpp
7c249e531900929c2fe2cdde76619fa6d2538c49 21-Feb-2016 mtklein <mtklein@chromium.org> SkNx: kth<...>() -> [...]

Just some syntax cleanup. No real change: kth<...>() was calling [...] already.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1714363002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1714363002
/external/skia/src/core/SkGeometry.cpp
507ef6d68115ae9e6d884bb36436a1463523d893 31-Jan-2016 mtklein <mtklein@chromium.org> SkNx Load/store: take any pointer.

This means we can remove a lot of explicit casts in code that uses SkNx.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1650653002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1650653002
/external/skia/src/core/SkGeometry.cpp
5ba2b9612ae4bc3a244bf45f1ec55c3a5a41e181 27-Jan-2016 caryclark <caryclark@google.com> move more geometry to simd

Remove duplicate quad and cubic code around
computing the polynomial coefficients, and
use common SIMD-based code instead.

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

Review URL: https://codereview.chromium.org/1633143002
/external/skia/src/core/SkGeometry.cpp
a273c0f6676b261ef82bc43b0dcc53282f2bdf8c 25-Jan-2016 caryclark <caryclark@google.com> 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
/external/skia/src/core/SkGeometry.cpp
88651aeb551fb02003a7600679e8e7df8a589e7f 20-Jan-2016 caryclark <caryclark@google.com> replace arcto quads with a conic

also, remove code used only for
the quad generation

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

Review URL: https://codereview.chromium.org/1612543003
/external/skia/src/core/SkGeometry.cpp
b6474dd1a530a543ae799c3822e8bc60180761c0 19-Jan-2016 caryclark <caryclark@google.com> 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
/external/skia/src/core/SkGeometry.cpp
3323b05be5aacb6008e8e09fd922d0c9269e4c07 05-Jan-2016 caryclark <caryclark@google.com> Add comment for using infinite check in quad root

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

Review URL: https://codereview.chromium.org/1556073004
/external/skia/src/core/SkGeometry.cpp
dbaec7323f20c3a7e8a234dac9dfb8a9446a2717 05-Jan-2016 caryclark <caryclark@google.com> give up on quad root if infinite

SkPath::contains() uses SkFindUnitQuadRoots to see
which side of a curve a point is on. If the
intermediate exceeds a float, return no found root.

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

Review URL: https://codereview.chromium.org/1556353002
/external/skia/src/core/SkGeometry.cpp
f0b6c553aeec0da32193d354a034bd387bdbf19a 01-Jan-2016 reed <reed@chromium.org> replace older/slower/scaler version of conic evalAt

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

TBR=

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

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/core/SkGeometry.cpp
45398dff710c6cdadbc3c686faa7bf692febd222 25-Aug-2015 caryclark <caryclark@google.com> Reland of ix zero-length tangent (patchset #1 id:1 of https://codereview.chromium.org/1312243002/ )

Reason for revert:
Layout suppression has landed, and verified that Skia gm test changes are correct.

Original issue's description:
> Revert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromium.org/1311273002/ )
>
> Reason for revert:
> causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed.
>
> Original issue's description:
> > fix zero-length tangent
> >
> > If the end point and the control point are the same, computing
> > the tangent will result in (0, 0). In this case, use the prior
> > control point instead.
> >
> > R=reed@google.com
> >
> > BUG=skia:4191
> >
> > Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d
>
> TBR=reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4191
>
> Committed: https://skia.googlesource.com/skia/+/91298b47c547b2ab4697038c04685af957bd1416

TBR=reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4191

Review URL: https://codereview.chromium.org/1320473002
/external/skia/src/core/SkGeometry.cpp
91298b47c547b2ab4697038c04685af957bd1416 25-Aug-2015 caryclark <caryclark@google.com> Revert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromium.org/1311273002/ )

Reason for revert:
causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed.

Original issue's description:
> fix zero-length tangent
>
> If the end point and the control point are the same, computing
> the tangent will result in (0, 0). In this case, use the prior
> control point instead.
>
> R=reed@google.com
>
> BUG=skia:4191
>
> Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d

TBR=reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4191

Review URL: https://codereview.chromium.org/1312243002
/external/skia/src/core/SkGeometry.cpp
7544124fb8ee744f68f549a353f8a9163cd7432d 25-Aug-2015 caryclark <caryclark@google.com> fix zero-length tangent

If the end point and the control point are the same, computing
the tangent will result in (0, 0). In this case, use the prior
control point instead.

R=reed@google.com

BUG=skia:4191

Review URL: https://codereview.chromium.org/1311273002
/external/skia/src/core/SkGeometry.cpp
f2fe0e03205c4d7f70496ec8c6bea9a82ae88329 10-Jun-2015 mtklein <mtklein@chromium.org> Remove overly-promiscuous SkNx syntax sugar.

I haven't figured out a pithy way to have these apply to only classes
originating from SkNx, so let's just remove them. There aren't too
many use cases, and it's not really any less readable without them.

Semantically, this is a no-op.

BUG=skia:

Review URL: https://codereview.chromium.org/1167153002
/external/skia/src/core/SkGeometry.cpp
612f70d5fa2d4bf7a393c791966bbce933407017 19-May-2015 caryclark <caryclark@google.com> handle large conic strokes better

A stroked conic computes the outset quad's control point by
computing the intersection of the quad's endpoints. If the
the denominator used to compute the scale factor for the
control point is small, check to see if the numerator is also
small so that the division stays bounded.

Also clean up error returns and internal function calls to
simplify the code.

Additionally, remove comic max curvature (unimplemented) and call
extrema functions instead to handle cases where the conic is degenerate
or is a line.

R=reed@google.com, fmalita@chromium.org
BUG=skia:3843

Review URL: https://codereview.chromium.org/1144883003
/external/skia/src/core/SkGeometry.cpp
80ea19ca4bdd68c1493666a5fe7e4ce9d43ded8b 12-May-2015 reed <reed@google.com> Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of https://codereview.chromium.org/1138263002/)

Reason for revert:
android patched, blink has rolled

Original issue's description:
> Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)
>
> Reason for revert:
> need to wait for Blink roll (and patch android)
>
> Original issue's description:
> > stop calling SkScalarDiv
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a
>
> TBR=
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2629697933b5cc975e45d2a45c48f803fc6cbcec

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1135693003
/external/skia/src/core/SkGeometry.cpp
2629697933b5cc975e45d2a45c48f803fc6cbcec 12-May-2015 reed <reed@google.com> Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)

Reason for revert:
need to wait for Blink roll (and patch android)

Original issue's description:
> stop calling SkScalarDiv
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1138263002
/external/skia/src/core/SkGeometry.cpp
67d71c898249a7af3523b16c6a69895a63bfae0a 12-May-2015 reed <reed@google.com> stop calling SkScalarDiv

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1135053002
/external/skia/src/core/SkGeometry.cpp
c6325cde797baeedebc515bc8610f96eacbd36c9 11-May-2015 caryclark <caryclark@google.com> remove near one check for arcs

Small arcs are pinned by SkSinCos and do not need to be additionally
pinned by SkConic::BuildUnitArc.

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

Review URL: https://codereview.chromium.org/1133113003
/external/skia/src/core/SkGeometry.cpp
dc3088570f945ed0ede84f0af0016eedc267dda3 30-Apr-2015 reed <reed@google.com> use pathops utils to improve precision of cubic chopping in scan converter

BUG=skia:

Review URL: https://codereview.chromium.org/1113963002
/external/skia/src/core/SkGeometry.cpp
0b71278679f1ce2bdbabe117285bc1b3166d372a 16-Apr-2015 reed <reed@chromium.org> remove older version of cubic->coeff

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084623004
/external/skia/src/core/SkGeometry.cpp
6983f66d8b3a489133b751e2cef03e72a03bfeae 16-Apr-2015 reed <reed@chromium.org> Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/1078413003/)"

ah ha! Check for the define *after* we pull in SkUserConfig.h (indirectly)

This reverts commit 639a82855b94b93c4fa45560e67df8ec4a8bbb3a.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084283003
/external/skia/src/core/SkGeometry.cpp
639a82855b94b93c4fa45560e67df8ec4a8bbb3a 15-Apr-2015 reed <reed@google.com> Revert of Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/1078413003/)

Reason for revert:
Crazy failings in chrome tests
http://build.chromium.org/p/client.skia/builders/Linux%20Tests/builds/1862

Original issue's description:
> Speeup hairline curves (quads and cubics)
>
> /skia/trunk> cat ../old.txt
> maxrss loops min median mean max stddev samples config bench
> 9M 1 4.28ms 4.32ms 4.36ms 4.67ms 3% ▄▁▁▃▂▂▁▁▂█ 8888 path_hairline_small_AA_cubic
> 9M 1 743µs 767µs 770µs 825µs 4% ▃▃▇▃▁▁▅▁█▁ 8888 path_hairline_small_AA_conic
> 9M 1 533µs 606µs 598µs 680µs 9% ▁▂▂█▆▇▇▄▂▂ 8888 path_hairline_small_AA_quad
> 9M 1 451µs 452µs 456µs 495µs 3% ▁▁▁▁█▁▁▁▁▁ 8888 path_hairline_small_AA_line
>
> /skia/trunk> cat ../new.txt
> maxrss loops min median mean max stddev samples config bench
> 9M 1 827µs 827µs 831µs 869µs 2% ▁▁▁▁▁▁▁█▁▁ 8888 path_hairline_small_AA_cubic
> 9M 1 515µs 517µs 517µs 518µs 0% ▇█▆▅▃▃▁▁▁▅ 8888 path_hairline_small_AA_conic
> 9M 1 310µs 311µs 315µs 332µs 2% ▂▁█▆▁▁▁▁▁▁ 8888 path_hairline_small_AA_quad
> 9M 1 254µs 254µs 258µs 276µs 3% ▁▁▁▁▁▁▁█▇▂ 8888 path_hairline_small_AA_line
>
> Edited revert of https://codereview.chromium.org/1085013003
>
> TBR=
>
> Expectations:
> - no effect on chrome, as it is guarded
> - lots of tiny rebaselines for skia

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1092483003
/external/skia/src/core/SkGeometry.cpp
a0246165eab9018d07afc09ff826ea4c40898ebc 15-Apr-2015 reed <reed@google.com> Speeup hairline curves (quads and cubics)

/skia/trunk> cat ../old.txt
maxrss loops min median mean max stddev samples config bench
9M 1 4.28ms 4.32ms 4.36ms 4.67ms 3% ▄▁▁▃▂▂▁▁▂█ 8888 path_hairline_small_AA_cubic
9M 1 743µs 767µs 770µs 825µs 4% ▃▃▇▃▁▁▅▁█▁ 8888 path_hairline_small_AA_conic
9M 1 533µs 606µs 598µs 680µs 9% ▁▂▂█▆▇▇▄▂▂ 8888 path_hairline_small_AA_quad
9M 1 451µs 452µs 456µs 495µs 3% ▁▁▁▁█▁▁▁▁▁ 8888 path_hairline_small_AA_line

/skia/trunk> cat ../new.txt
maxrss loops min median mean max stddev samples config bench
9M 1 827µs 827µs 831µs 869µs 2% ▁▁▁▁▁▁▁█▁▁ 8888 path_hairline_small_AA_cubic
9M 1 515µs 517µs 517µs 518µs 0% ▇█▆▅▃▃▁▁▁▅ 8888 path_hairline_small_AA_conic
9M 1 310µs 311µs 315µs 332µs 2% ▂▁█▆▁▁▁▁▁▁ 8888 path_hairline_small_AA_quad
9M 1 254µs 254µs 258µs 276µs 3% ▁▁▁▁▁▁▁█▇▂ 8888 path_hairline_small_AA_line

Edited revert of https://codereview.chromium.org/1085013003

TBR=

Review URL: https://codereview.chromium.org/1078413003
/external/skia/src/core/SkGeometry.cpp
c9adb05b64fa0bfadf9d1a782afcda470da68c9e 30-Mar-2015 mtklein <mtklein@chromium.org> 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
/external/skia/src/core/SkGeometry.cpp
daee7eadd1b704078217e9a0f5ad218fcaeae099 27-Mar-2015 reed <reed@chromium.org> impl SkConvertQuadToCubic w/ Sk2s

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1041573002
/external/skia/src/core/SkGeometry.cpp
55011038816a3fc7f0c0a39d482fb85347cc2e78 26-Mar-2015 reed <reed@google.com> use new faster/vector impl for chopping conics

BUG=skia:

Review URL: https://codereview.chromium.org/1035943002
/external/skia/src/core/SkGeometry.cpp
c08330f1601aeca7f10aeb2194118decbfbf83e1 26-Mar-2015 reed <reed@google.com> remove slower scalar code in favor of vectors

BUG=skia:

Review URL: https://codereview.chromium.org/1001833006
/external/skia/src/core/SkGeometry.cpp
6b9ef90c029c7c783f156ffd6fb1ba047bec63e0 25-Mar-2015 reed <reed@chromium.org> SkChopCubicAt2 using Sk2s -- 2x faster

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1036753002
/external/skia/src/core/SkGeometry.cpp
ce6acc91085c4b6d87d4bac84e66193908e648f9 20-Mar-2015 reed <reed@google.com> cleanup using constructors

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1024193002
/external/skia/src/core/SkGeometry.cpp
b640203cd5733aaf110277e28e22007c5b541565 20-Mar-2015 reed <reed@google.com> use Sk2s for conics

BUG=skia:

Review URL: https://codereview.chromium.org/1025033002
/external/skia/src/core/SkGeometry.cpp
40b7dd57ef1f4e91af72512d8ca57459b99d71bd 20-Mar-2015 reed <reed@google.com> use Sk2s for EvalQuadTangent and ChopQuadAt

cloned from https://codereview.chromium.org/1026633002/

BUG=skia:

Review URL: https://codereview.chromium.org/1024873003
/external/skia/src/core/SkGeometry.cpp
d800d878caae5d25b275d488a1b5ae8c24cea492 19-Mar-2015 mtklein <mtklein@chromium.org> Try out operator overloads for Sk2x.

BUG=skia:

Review URL: https://codereview.chromium.org/1024473005
/external/skia/src/core/SkGeometry.cpp
950e986b1bc127af1f484572d2494091957486f9 19-Mar-2015 mtklein <mtklein@chromium.org> Port to real Sk2f.

The bench improves from 39 to 30, about half from porting to Sk2f, half from
x.add(x) instead of x.multiply(two).

Remove Sk4f Load2/store2 now that we have Sk2f.

BUG=skia:

Review URL: https://codereview.chromium.org/1019773004
/external/skia/src/core/SkGeometry.cpp
65cb2cd2f7ad4146f055810b8bd77bff03a4e76e 19-Mar-2015 reed <reed@chromium.org> alt SkEvalQuadAt that returns its answer, using Sk2f

BUG=skia:

Review URL: https://codereview.chromium.org/1011493003
/external/skia/src/core/SkGeometry.cpp
562d0e1cd2286945cb73fca0233560071b052129 19-Mar-2015 reed <reed@chromium.org> remove unused SkXRay functions

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1016263002
/external/skia/src/core/SkGeometry.cpp
d6f87b56d573b93a154156b948122b984da7e4b2 17-Feb-2015 fmalita <fmalita@chromium.org> Remove SK_SUPPORT_LEGACY_CONIC_COMPUTE_QUAD_POW2

The flag is no longer used in Chromium.

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

Review URL: https://codereview.chromium.org/931663004
/external/skia/src/core/SkGeometry.cpp
f16c00e41b72daa81ed7efacbead06b387767841 13-Feb-2015 reed <reed@google.com> interpret conic tolerance correctly -- big rebaseline

need this to land in chrome
https://codereview.chromium.org/918233002/

NOTREECHECKS=True

Review URL: https://codereview.chromium.org/915103002
/external/skia/src/core/SkGeometry.cpp
88f0a99fd48cfb30ca5596182f8932d76cd76f17 10-Feb-2015 reed <reed@google.com> Use conics for round joins and caps

patch from issue 909013004 at patchset 20001 (http://crrev.com/909013004#ps20001)

BUG=skia:
TBR=caryclark

Review URL: https://codereview.chromium.org/910213002
/external/skia/src/core/SkGeometry.cpp
d5d27d9b146731b871b1bcc6d6de36fba2d5ea44 09-Feb-2015 reed <reed@google.com> use conics for arcTo

guarded by SK_SUPPORT_LEGACY_ARCTO_QUADS

BUG=skia:

Review URL: https://codereview.chromium.org/892703002
/external/skia/src/core/SkGeometry.cpp
220f926d9d4b38a9018c922c095847bbd261f583 17-Dec-2014 reed <reed@google.com> use conics

BUG=skia:

Review URL: https://codereview.chromium.org/455043002
/external/skia/src/core/SkGeometry.cpp
8dd31cf69e24ff82865309781107dfab948b6a02 12-Dec-2014 caryclark <caryclark@google.com> Extract cubic classification from gpu into geometry

Move code from the GPU path utilities into geometry so that
path ops can share.

Review URL: https://codereview.chromium.org/787763007
/external/skia/src/core/SkGeometry.cpp
11fca3f29f0117eda798c67fafde40465d9903e1 12-Sep-2014 Mike Klein <mtklein@chromium.org> Add more debugging for newly failing assert (DM on Xoom bots).

BUG=skia:

Review URL: https://codereview.chromium.org/568823002
/external/skia/src/core/SkGeometry.cpp
def6468dd2daed36eced69098445aa99c90487d6 21-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Stub for conic section max curvature

BUG=skia:
R=reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13542 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
b39d5617f60e8c26f76011cfcd984d7ad42d9fa9 21-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> update for coding style, remove explicit floats

BUG=skia:
R=reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13528 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
d50d87a185d26a38d7100bbbb119be17947aa5e4 28-Jan-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> That's confusing. Make it clear we're working with 3 points == 9 scalars.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13216 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
bf0001d0472d727266762c5967ec0d919a6df083 13-Jan-2014 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove remaining references to Sk64 (obsolete)

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13042 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
8f4d2306fa866a26f9448048ff63f692b2ba43aa 17-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats

To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.

BUG=
R=bsalomon@google.com, caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
3c12840b234e614faf569e80f311a77ce65d9fe0 16-Dec-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SkFP.h and replace SkFP with SkScalar stop respecting SK_SOFTWARE_FLOAT, assume its always false stop respecting SK_SCALAR_SLOW_COMPARES, assume its always false

BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12686 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
4b413c8bb123e42ca4b9c7bfa6bc2167283cb84c 25-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> remove SkFloatToScalar macro

BUG=
R=reed@google.com, djsollen@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
f91aaecbe9d3630123d803d80f7b29f06c8976c7 01-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Construct round rects with perpendicular tangents.

The round rects are constructed as before out of quadratics,
but without fudging the control points. Instead, the mid on-
curve point is nudged slightly outward to prevent the
convexity test from failing.

The convexity test now includes an error term for sign
inequality after computing the cross product of the control
lines. When the control points are represented as vectors,
the number of bits of precision may be greatly reduced.

Account for this by passing the number of bits available
from the original control point values into the equality
check.

Making round rect construction lines perpendicular improves
the chances of success when path ops encounters clips.

No new tests are needed -- this change is exercised by the
convex Path unit tests and the gm tests arcofzorro and
hairlines.

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

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12085 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
50df4d013f840749f70d1759c23c4217e727fd54 28-Sep-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@11513 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
b0889a5aa610552bf306edc8d9a35d2d601acdb9 27-Sep-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> This CL effectively reverts:

r5997 Altered arcTo's canonical points to (usually) be convex (https://codereview.appspot.com/6709051/)
r9928 GM (and fix) for drawArc capping issue (https://codereview.chromium.org/18271003/)

Instead of pushing some of the on-curve points out to attain convexity, this patch pulls all the off curve points in.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11504 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
5383a7525355dec72efa2083aeadffdd09a962b9 12-Jul-2013 egdaniel@google.com <egdaniel@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add implicit hairline conic rendering to GPU

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10055 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
9e1ec1a52985cce9db3a0d0e8d448b82a32e70cb 10-Jul-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@9948 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
e1b75b4096c8ba9a569ae33d580806edd3c4a97a 09-Jul-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GM (and fix) for drawArc capping issue

https://codereview.chromium.org/18271003/



git-svn-id: http://skia.googlecode.com/svn/trunk@9928 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
2b34fe01d7b5736b212eb4886afc723a7b9241ae 08-May-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Housekeeper-Nightly

git-svn-id: http://skia.googlecode.com/svn/trunk@9051 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
6862cbad085729acb77825392c8c2a4f888a99cf 08-May-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> share derivative code with extrema logic, remove some dead code.



git-svn-id: http://skia.googlecode.com/svn/trunk@9050 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
1040b473c14846269a8e6e215562598c962cb221 08-May-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> fix impl for conic derivative (tangent)



git-svn-id: http://skia.googlecode.com/svn/trunk@9049 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
24bd210f2e2cf66f356b4e98f7801631089b8aa3 07-May-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add (untested) tangent calc for conics



git-svn-id: http://skia.googlecode.com/svn/trunk@9048 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
af5c506cd6b63f43a0ebee2fb171ea55ba98e09f 30-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add routines to compute error between conic and quad



git-svn-id: http://skia.googlecode.com/svn/trunk@8916 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
48115de566aaa861b06371fc649899915174279f 28-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8889 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
97514f22e4cb85a0d79b089a1eecd54d4a952291 27-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add computation for error in conic-as-quad



git-svn-id: http://skia.googlecode.com/svn/trunk@8887 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
214c870f5e45f79bc5a8d695c55ec7b881535f4c 27-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8886 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
b16e247519b9b8ccff1c74cf31d0c59f42b6a5f2 26-Apr-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add comment for computing max-diff between conic and its bounding quad



git-svn-id: http://skia.googlecode.com/svn/trunk@8885 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
28552e12a019bf5ae55c9e8602bbe216562d7a3e 26-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> rename SkRationalQuad to SkConic



git-svn-id: http://skia.googlecode.com/svn/trunk@8872 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
45fb8b60137c65106b7903285672d0f8a8041f97 17-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8714 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
5c082a14acbb70eec2fd6dc5a4c134799f3d8535 17-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add compute-bounds for conics



git-svn-id: http://skia.googlecode.com/svn/trunk@8713 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
0c5c3867bdbde1005a7bbb9de9df93cc10e27782 17-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add extrema for conics



git-svn-id: http://skia.googlecode.com/svn/trunk@8712 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
17a2c919d095797c364d407a5dbdb4d60533b953 16-Apr-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add comments for computing derivatives



git-svn-id: http://skia.googlecode.com/svn/trunk@8711 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
7841c63136e8aa2d3aadbeab8432405abcd73c32 16-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8693 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
aebfa7e1b1e94f693f3e7beb6ad43cfcb0f69e98 15-Apr-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix release warning (unused debug variable)



git-svn-id: http://skia.googlecode.com/svn/trunk@8682 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
3df87cb36e9f9d2e04d2f81ac64cf3d778c33847 15-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add experimental chop-into-quads for conics



git-svn-id: http://skia.googlecode.com/svn/trunk@8681 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
ab38e560e922b554ea9fa98adc4f79aee7eca8ba 14-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8673 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
8d551011966a1bc14a654dbde704f343c0e222b6 14-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> add special-case for chopping at exactly half for rational-quads (2-3x faster)



git-svn-id: http://skia.googlecode.com/svn/trunk@8672 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
4af6280aa366a02540f34c48f89ea73ce3d27974 13-Apr-2013 mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> compute new weight in standard-form



git-svn-id: http://skia.googlecode.com/svn/trunk@8671 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
4bb50b22fce5c4031549976cf7b04d63cc22e624 13-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8670 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
0d099557feb99707c8f601746f46f5a295eb33b7 12-Apr-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> incomplete impl for chopping rational quads (need to "normalize" so I can get
the new middle weight).



git-svn-id: http://skia.googlecode.com/svn/trunk@8668 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
c518710d9a99c4d0adf759a102f4a1cb582f5939 12-Apr-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> experimental start to arcs



git-svn-id: http://skia.googlecode.com/svn/trunk@8665 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
dff53c26e7ef80da4767433ecfe17741a059e247 22-Feb-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove obsolete build flag SK_IGNORE_CONVEX_QUAD_OPT
Review URL: https://codereview.appspot.com/7363046

git-svn-id: http://skia.googlecode.com/svn/trunk@7820 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
e16efc1882ab34a0bb3ae361a2d37f840044cf87 26-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
194bf824f0b16be9de66233c9baf447f11e13758 23-Jan-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reverse sense of convex-quad-fix compiler flag

https://codereview.appspot.com/7206045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7349 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
6a748ad8d82576c4ce59e9b2409d41a93bf05cdf 19-Oct-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6013 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
c7a37c7bb2279d8c15d6fcbaf38f59dbd727eb6c 19-Oct-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Place r5997 (make arcto's convex) behind a compiler flag to delay day of reckoning with Webkit baselines



git-svn-id: http://skia.googlecode.com/svn/trunk@6012 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
b95eaa8d0842a8bba97f0bc7e19cfd9172d09722 18-Oct-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Altered arcTo's canonical points to (usually) be convex

https://codereview.appspot.com/6709051/

This will require rebaselining of: degeneratesegments, shadertext & shadertext2



git-svn-id: http://skia.googlecode.com/svn/trunk@5997 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)

This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
5efe0cb04961ef98fbe520ee732fbe50b4195ad3 10-Apr-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Clean up more Visual Studio warnings, including apparent bug in Arithmetic mode.



git-svn-id: http://skia.googlecode.com/svn/trunk@3645 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
087d5aafb18b88dfc6c6a5dbf59160c8be914e62 29-Feb-2012 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix edgecase in chopcubic where we computed duplicate tvalues



git-svn-id: http://skia.googlecode.com/svn/trunk@3285 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e 28-Jul-2011 epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Automatic update of all copyright notices to reflect new license terms.

I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
6fc321a18acc8c6437735007240eefe7054e83b0 27-Jul-2011 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add test for SkConvertQuadToCubic



git-svn-id: http://skia.googlecode.com/svn/trunk@1967 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
2e086190e55a01dc2f7b74df6f2828e8cac2b9ab 08-Jul-2010 kbr@chromium.org <kbr@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Added optional "ambiguous" outgoing argument to XRay queries so that
calling code may choose different y-coordinates for better robustness.
Tested and verified manually inside O3D.

BUG=none
TEST=none

Review URL: http://codereview.appspot.com/1695051


git-svn-id: http://skia.googlecode.com/svn/trunk@586 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
15161620bee33efcb706685486c9ce0fb51a72bb 08-Mar-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> handle NaN in curve choppers and edgeclipper



git-svn-id: http://skia.googlecode.com/svn/trunk@522 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
945a139553a9c9da03766213661d7f5fd6ed3042 05-Feb-2010 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add SkXRay geometry routines



git-svn-id: http://skia.googlecode.com/svn/trunk@488 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
bb13586591bd412a0372aeb85d44159d2fa3f947 18-Nov-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix typos in cubic clipper



git-svn-id: http://skia.googlecode.com/svn/trunk@431 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
77f0ef726f1f8b6769ed2509171afce8bac00b23 17-Nov-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> add quadclipping utility, plus sample test



git-svn-id: http://skia.googlecode.com/svn/trunk@429 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
a964028843ec3f69b3b2e556426ff881d1fcb4b2 28-Aug-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> http://code.google.com/p/skia/issues/detail?id=32

Detect when we no longer have a valid range for chopping due to finite float
precision, and just return a degenerate cubic at the end.



git-svn-id: http://skia.googlecode.com/svn/trunk@341 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
d8730ea8b25d692c0656f8cf03f02aecfab2a17c 27-Feb-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> more tests (need more meat in there)



git-svn-id: http://skia.googlecode.com/svn/trunk@97 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
fc25abdabff76f913fb9d4f373418c10a1eca92b 15-Jan-2009 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix warnings



git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp
8a1c16ff38322f0210116fa7293eb8817c7e477e 17-Dec-2008 reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> grab from latest android



git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/core/SkGeometry.cpp