Go to file
Chris Dalton febbffad1c 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>
2017-06-09 17:13:54 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
bin bin/fetch-clang-format 2017-03-08 16:43:49 +00:00
debugger Get Debugger app compiling again 2017-01-06 16:18:27 +00:00
dm Add clamp before drawing F16->8888 in DMSrcSink ColorCodecSrc 2017-06-09 15:30:19 +00:00
example Revert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia"" 2017-05-01 14:14:50 +00:00
experimental move perlinenoise2 into effects 2017-05-30 20:15:37 +00:00
fuzz Revert "Revert "Delete SkGaussianEdgeShader"" 2017-05-31 14:52:12 +00:00
gm Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
gn specialize D32 proc for legacy src 2017-06-09 00:48:50 +00:00
include Extend composeshader to support a lerp parameter 2017-06-09 17:13:53 +00:00
infra Add new Kaby Lake bot Win IntelIris640. 2017-06-09 15:15:47 +00:00
platform_tools Enable ios on Raspberry Pi 2017-04-25 16:56:41 +00:00
resources Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
samplecode Add TiledDrawScheduler so we can concurrently draw and enque 2017-06-05 19:29:57 +00:00
site Update link to testing infrastructure. 2017-06-05 18:20:55 +00:00
src Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
tests Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
third_party Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
tools Remove debug checks for unsupported ICC profiles 2017-06-09 15:26:48 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore Refactor Vulkan support to support Fuchsia 2017-04-05 17:32:09 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Added support for building for tvOS 2017-03-14 22:55:04 +00:00
BUILD.gn Replace BMP calls to new with calls to malloc 2017-06-05 15:09:40 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll ANGLE DEPS 2017-06-05 12:52:31 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
PRESUBMIT.py Use Gerrit style format for footers in Presubmit 2017-05-23 20:44:36 +00:00
public.bzl Experimental change to diagnose image diffs in g3 2017-06-08 18:38:43 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
whitespace.txt Marker for Win AMD driver update. 2017-05-22 17:21:14 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.