| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL enables us to set the default visibility of the symbols
on Android to hidden. It is the intent that all of he SK_APIs
that have been added to /src directies should be removed as soon
as we can remove their callers within Android.
Bug: b/31971097
Change-Id: Ic787f94df0fb0c2b8d941aa7095a12b317c4b5de
Reviewed-on: https://skia-review.googlesource.com/49501
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
|
|
|
|
|
|
|
|
| |
Bug: skia:
Change-Id: Ic4838f0e242ded0c3d0cb5c86715ed67d8152f5c
Reviewed-on: https://skia-review.googlesource.com/44520
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoids the need for MSAA cubic borders by chopping up the cubic
geometry and crossing the inflections points and loop intersections
with lines and quadratic(s) instead. This allows us to render the
remaining cubic segments with simple hulls and analytic AA, giving
better image quality and performance.
Bug: skia:
Change-Id: If371229f575ee0286c325c230a116d602a9d38ce
Reviewed-on: https://skia-review.googlesource.com/41883
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1113963002
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1084623004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1035943002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1001833006
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1036753002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1025033002
|
|
|
|
|
|
|
|
| |
cloned from https://codereview.chromium.org/1026633002/
BUG=skia:
Review URL: https://codereview.chromium.org/1024873003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1011493003
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1016263002
|
|
|
|
|
|
|
|
|
| |
patch from issue 909013004 at patchset 20001 (http://crrev.com/909013004#ps20001)
BUG=skia:
TBR=caryclark
Review URL: https://codereview.chromium.org/910213002
|
|
|
|
|
|
|
|
| |
guarded by SK_SUPPORT_LEGACY_ARCTO_QUADS
BUG=skia:
Review URL: https://codereview.chromium.org/892703002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/455043002
|
|
|
|
|
|
|
| |
Move code from the GPU path utilities into geometry so that
path ops can share.
Review URL: https://codereview.chromium.org/787763007
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/796803005
|
|
|
|
|
|
|
|
|
|
|
| |
patch from issue 338263003
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/339183002
|
|
|
|
| |
git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
|