aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkGeometry.cpp
Commit message (Collapse)AuthorAge
* Pin max curvature solutions to 0..1Gravatar Chris Dalton2018-07-25
| | | | | | | | | | | | | | Pins out-of-range solutions for cubic/quad max curvature instead of throwing them out. Code that wants to know the endpoint(s) closest to max curvature now has the information. Code not interested in these values can just ignore 0 and 1. Bug: skia: Change-Id: I8e7e2ef236b4ab963865dc049ac3e09d5396757d Reviewed-on: https://skia-review.googlesource.com/143041 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* use double to compute root to avoid overflowGravatar Mike Reed2018-06-21
| | | | | | | | Bug: 850350 Change-Id: Iac04fc62e69f51b68c5fc7f55ac1be930133cc74 Reviewed-on: https://skia-review.googlesource.com/136597 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Stop using SkTSwap.Gravatar Ben Wagner2018-06-19
| | | | | | | | | | | | | Use std::swap instead. It does not appear that any external user specializes SkTSwap, but some may still use it. This removes all use in Skia so that SkTSwap can later be removed in a smaller CL. After that the <utility> include can be removed from SkTypes.h. Change-Id: If03d4ee07dbecda961aa9f0dc34d171ef5168753 Reviewed-on: https://skia-review.googlesource.com/135578 Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* allow divide-by-zero in conicsGravatar Mike Reed2018-05-24
| | | | | | | | Bug: oss-fuzz:6633 Change-Id: Id4cf78d208735d51cc85f78225b7f31619cbd397 Reviewed-on: https://skia-review.googlesource.com/130026 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* ccpr: Normalize the cubic inflection function instead of its rootsGravatar Chris Dalton2018-04-16
| | | | | | | | | | | | When solving for KLM, switches back to normalizing the cubic's inflection function rather than both individual roots. Also performs some general code clean up for SkClassifyCubic. Bug: skia: Change-Id: Id513e7e02c50a8709f3eccf92fad9e5134d73d83 Reviewed-on: https://skia-review.googlesource.com/121201 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* handle conic underflow calcGravatar Mike Reed2018-02-24
| | | | | | | | | | 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>
* switch to double in conic split on infinitiesGravatar Cary Clark2018-02-02
| | | | | | | | | | | | | 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>
* Harden SkClassifyCubicGravatar Chris Dalton2017-11-09
| | | | | | | | 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>
* move parts of SkPoint to SkPointPrivGravatar Cary Clark2017-11-08
| | | | | | | | | | | | 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>
* Fix undefined behavior in normalize_t_sGravatar Chris Dalton2017-10-31
| | | | | | | | | 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>
* convert mapHomogeneousPoints to SkPoint3Gravatar Cary Clark2017-10-18
| | | | | | | | | | | | | | | 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>
* Remove trailing whitespace.Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | 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>
* Remove tolerance form SkClassifyCubicGravatar Chris Dalton2017-09-28
| | | | | | | | | | | | 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>
* If a conic contains any infinite points, abort chopping to quads.Gravatar Stephen White2017-08-17
| | | | | | | | | | | 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>
* Fix SkClassifyCubic for near-quadraticsGravatar Chris Dalton2017-07-14
| | | | | | | | | | | | | | 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>
* Decrease the tolerance for classifying degenerate cubicsGravatar Chris Dalton2017-06-29
| | | | | | | | 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>
* Convert SkClassifyCubic to double precisionGravatar Chris Dalton2017-06-12
| | | | | | | | | | | | | 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>
* Improve cubic KLM accuracyGravatar Chris Dalton2017-06-09
| | | | | | | | | | | | | | | | | | | | | | 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>
* Improve accuracy of cubic classificationGravatar Chris Dalton2017-04-14
| | | | | | | | | | | | | | | | | | - 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>
* Add tolerance to quadratic and linear cubic detectionGravatar csmartdalton2017-03-09
| | | | | | | | | | | | 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>
* Remove SK_SUPPORT_LEGACY_EVAL_CUBIC-guarded codeGravatar Florin Malita2017-01-05
| | | | | | | | | | | 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>
* allow conic chop to failGravatar caryclark2016-09-26
| | | | | | | | | | | | | 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
* Reland of ix for conic fuzz (patchset #1 id:1 of ↵Gravatar caryclark2016-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert of fix for conic fuzz (patchset #3 id:40001 of ↵Gravatar caryclark2016-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix for conic fuzzGravatar caryclark2016-09-22
| | | | | | | | | | | | | | | 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
* compare degenerates with toleranceGravatar caryclark2016-09-06
| | | | | | | | | | | | | | | | | | | 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
* avoid generating degenerate conic from arcGravatar caryclark2016-08-26
| | | | | | | | R=bsalomon@google.com BUG=skia:5672 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281953002 Review-Url: https://codereview.chromium.org/2281953002
* fix conic path fuzzGravatar caryclark2016-08-23
| | | | | | | | | | | | 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
* handle large conic weightsGravatar reed2016-07-13
| | | | | | | BUG=627414 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2142393003 Review-Url: https://codereview.chromium.org/2142393003
* pin before calling acosGravatar caryclark2016-05-27
| | | | | | | | | | | | 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
* SkNx: kth<...>() -> [...]Gravatar mtklein2016-02-21
| | | | | | | | | | 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
* SkNx Load/store: take any pointer.Gravatar mtklein2016-01-31
| | | | | | | | | | 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
* move more geometry to simdGravatar caryclark2016-01-26
| | | | | | | | | | | | 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
* remove legacy definesGravatar caryclark2016-01-25
| | | | | | | | | | | | | | | | | | 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
* replace arcto quads with a conicGravatar caryclark2016-01-20
| | | | | | | | | | | 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
* fix circular dashingGravatar caryclark2016-01-19
| | | | | | | | | | | | | | | | | | | | | 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
* Add comment for using infinite check in quad rootGravatar caryclark2016-01-05
| | | | | | | | 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
* give up on quad root if infiniteGravatar caryclark2016-01-05
| | | | | | | | | | | | 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
* replace older/slower/scaler version of conic evalAtGravatar reed2016-01-01
| | | | | | | | | 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
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Reland of ix zero-length tangent (patchset #1 id:1 of ↵Gravatar caryclark2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert of fix zero-length tangent (patchset #2 id:20001 of ↵Gravatar caryclark2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix zero-length tangentGravatar caryclark2015-08-25
| | | | | | | | | | | | 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
* Remove overly-promiscuous SkNx syntax sugar.Gravatar mtklein2015-06-10
| | | | | | | | | | | | 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
* handle large conic strokes betterGravatar caryclark2015-05-19
| | | | | | | | | | | | | | | | | | | | 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
* Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of ↵Gravatar reed2015-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert of stop calling SkScalarDiv (patchset #4 id:60001 of ↵Gravatar reed2015-05-12
| | | | | | | | | | | | | | | | | | | | | | | 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
* stop calling SkScalarDivGravatar reed2015-05-12
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1135053002
* remove near one check for arcsGravatar caryclark2015-05-11
| | | | | | | | | 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
* use pathops utils to improve precision of cubic chopping in scan converterGravatar reed2015-04-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1113963002