skia2/src
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
..
android Let region decoders query the type and color space 2017-04-14 13:59:35 +00:00
c Move C effects into effects. 2017-02-09 21:50:55 +00:00
codec Remove debug checks for unsupported ICC profiles 2017-06-09 15:26:48 +00:00
core Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
effects Bump min picture to 7+ months ago 2017-06-08 18:23:19 +00:00
fonts Revert "Revert "SkTypeface::getAdvancedMetrics(): cleanup"" 2017-05-05 13:53:40 +00:00
gpu Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
image Add support for SkImageGenerator creating external textures 2017-06-08 20:23:05 +00:00
images update SkRasterPipeline::run() to also take y 2017-06-01 17:05:13 +00:00
jumper Experimental change to diagnose image diffs in g3 2017-06-08 18:38:43 +00:00
lazy SkDiscardableMemoryPool: always have a mutex for testing 2017-05-05 15:10:13 +00:00
opts remove unused xfermode methods 2017-06-06 13:41:19 +00:00
pathops Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
pdf SkPDF: Do draw{Image,Bitmap} with maskfilter. 2017-06-07 20:21:16 +00:00
pipe Revert "Revert "SaveLayerRec::fClipMask -> raw pointer"" 2017-05-01 21:36:43 +00:00
ports Revert "Revert "Delete SkGaussianEdgeShader"" 2017-05-31 14:52:12 +00:00
sfnt Set the kMultiMaster_FontFlag in DirectWrite. 2017-04-07 23:07:08 +00:00
shaders Extend composeshader to support a lerp parameter 2017-06-09 17:13:53 +00:00
sksl Re-land "Fixed an issue with sksl variable declarations" 2017-06-02 15:11:19 +00:00
svg Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
utils Bump min picture to 7+ months ago 2017-06-08 18:23:19 +00:00
views Touch input support for Windows 2017-06-07 14:27:09 +00:00
xml Mark overridden destructors with 'override' and remove 'virtual' 2017-03-22 16:06:18 +00:00
xps hide lockpixels api behind flag 2017-04-17 15:33:36 +00:00