skia2/bench
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
..
AAClipBench.cpp
AlternatingColorPatternBench.cpp
AndroidCodecBench.cpp
AndroidCodecBench.h
BenchLogger.cpp
BenchLogger.h
Benchmark.cpp
Benchmark.h
BezierBench.cpp
BigPathBench.cpp
BitmapBench.cpp
BitmapRectBench.cpp
BitmapRegionDecoderBench.cpp
BitmapRegionDecoderBench.h
BitmapScaleBench.cpp
BlurBench.cpp
BlurImageFilterBench.cpp
BlurOccludedRRectBench.cpp
BlurRectBench.cpp
BlurRectsBench.cpp
BlurRoundRectBench.cpp
ChartBench.cpp
check_bench_regressions.py
ChecksumBench.cpp
ChromeBench.cpp
ClipMaskBench.cpp
CmapBench.cpp
CodecBench.cpp
CodecBench.h
CodecBenchPriv.h
ColorCanvasDrawBitmapBench.cpp
ColorCodecBench.cpp
ColorCodecBench.h
ColorFilterBench.cpp
ColorPrivBench.cpp
ControlBench.cpp
CoverageBench.cpp
CubicKLMBench.cpp Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
DashBench.cpp
DisplacementBench.cpp
DrawBitmapAABench.cpp
DrawLatticeBench.cpp
EncoderBench.cpp
FontCacheBench.cpp
FontScalerBench.cpp
FSRectBench.cpp
GameBench.cpp
GeometryBench.cpp
GLBench.cpp
GLBench.h
GLInstancedArraysBench.cpp
GLVec4ScalarBench.cpp
GLVertexAttributesBench.cpp
GMBench.cpp
GMBench.h
GradientBench.cpp Remove SkLinearGradient::kForce4fContext_PrivateFlag 2017-06-07 20:24:51 +00:00
GrMemoryPoolBench.cpp
GrMipMapBench.cpp
GrResourceCacheBench.cpp
gUniqueGlyphIDs.h
HairlinePathBench.cpp
HardStopGradientBench_ScaleNumColors.cpp
HardStopGradientBench_ScaleNumHardStops.cpp
HardStopGradientBench_SpecialHardStops.cpp
ImageBench.cpp Fix native_image_to_raster_surface crash in ANGLE msaa configs 2017-06-08 15:37:40 +00:00
ImageCacheBench.cpp
ImageCacheBudgetBench.cpp
ImageFilterCollapse.cpp
ImageFilterDAGBench.cpp
InterpBench.cpp
LightingBench.cpp
LineBench.cpp
MagnifierBench.cpp
MathBench.cpp
Matrix44Bench.cpp
MatrixBench.cpp
MatrixConvolutionBench.cpp
MeasureBench.cpp
MemsetBench.cpp
MergeBench.cpp
microbench.json
MipMapBench.cpp
MorphologyBench.cpp
MutexBench.cpp
nanobench.cpp add testing flag to force rasterpipeline 2017-06-05 14:45:11 +00:00
nanobench.h
pack_int_uint16_t_Bench.cpp
PatchBench.cpp
PathBench.cpp
PathIterBench.cpp
PDFBench.cpp
PerlinNoiseBench.cpp
PictureNestingBench.cpp
PictureOverheadBench.cpp
PicturePlaybackBench.cpp
PremulAndUnpremulAlphaOpsBench.cpp
QuickRejectBench.cpp
ReadPixBench.cpp
RecordingBench.cpp
RecordingBench.h
RectanizerBench.cpp
RectBench.cpp
RectoriBench.cpp
RefCntBench.cpp
RegionBench.cpp
RegionContainBench.cpp
RepeatTileBench.cpp
ResultsWriter.h
RotatedRectBench.cpp
RTreeBench.cpp
ScalarBench.cpp
ShaderMaskBench.cpp
ShadowBench.cpp
ShapesBench.cpp
Sk4fBench.cpp
SkBlend_optsBench.cpp
SkGlyphCacheBench.cpp
SkLinearBitmapPipelineBench.cpp Reland of SkShaderBase 2017-05-25 14:59:07 +00:00
SKPAnimationBench.cpp
SKPAnimationBench.h
SKPBench.cpp
SKPBench.h
skpbench.json
SkRasterPipelineBench.cpp update SkRasterPipeline::run() to also take y 2017-06-01 17:05:13 +00:00
SortBench.cpp
StreamBench.cpp
StrokeBench.cpp
SwizzleBench.cpp
TableBench.cpp
TextBench.cpp
TextBlobBench.cpp
TileBench.cpp
TileImageFilterBench.cpp
TopoSortBench.cpp
VertBench.cpp
WritePixelsBench.cpp
WriterBench.cpp
XfermodeBench.cpp