skia2/include/private
Mike Reed 3a8ff230ab Move test around in cubic_solver to test function, not delta_t.
Add SkOpts variant for avx2 to get FMA
Decrease tolerance now that we're testing the function

Before

  15/15  MB	1	1.13ms	1.17ms	1.18ms	1.26ms	4%	cubicmap_0_1_1_1
  15/15  MB	1	1.08ms	1.13ms	1.12ms	1.17ms	3%	cubicmap_0_1_1_0
  15/15  MB	1	862µs	904µs	900µs	937µs	3%	cubicmap_0_1_0_1
  15/15  MB	1	861µs	878µs	882µs	934µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	1.44ms	1.47ms	1.49ms	1.55ms	3%	cubicmap_1_0_1_1
  15/15  MB	1	1.44ms	1.48ms	1.48ms	1.55ms	3%	cubicmap_1_0_1_0
  15/15  MB	1	1.42ms	1.42ms	1.46ms	1.53ms	3%	cubicmap_1_0_0_1
  15/15  MB	1	1.42ms	1.42ms	1.44ms	1.51ms	2%	cubicmap_1_0_0_0

After moving the check to the function, not delta_t

  15/15  MB	1	900µs	900µs	915µs	971µs	3%	cubicmap_0_1_1_1
  15/15  MB	1	899µs	900µs	914µs	988µs	3%	cubicmap_0_1_1_0
  15/15  MB	1	865µs	896µs	890µs	946µs	3%	cubicmap_0_1_0_1
  15/15  MB	1	866µs	910µs	914µs	959µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	1.29ms	1.29ms	1.33ms	1.44ms	4%	cubicmap_1_0_1_1
  15/15  MB	1	1.28ms	1.29ms	1.34ms	1.54ms	6%	cubicmap_1_0_1_0
  15/15  MB	1	1.26ms	1.26ms	1.27ms	1.34ms	3%	cubicmap_1_0_0_1
  15/15  MB	1	1.26ms	1.26ms	1.27ms	1.3ms	2%	cubicmap_1_0_0_0

After SkOpts (on an avx2 machine)

  15/15  MB	1	613µs	613µs	616µs	646µs	2%	cubicmap_0_1_1_1
  15/15  MB	1	613µs	613µs	624µs	654µs	3%	cubicmap_0_1_1_0
  15/15  MB	1	862µs	865µs	867µs	887µs	1%	cubicmap_0_1_0_1
  15/15  MB	1	865µs	901µs	896µs	949µs	3%	cubicmap_0_1_0_0
  15/15  MB	1	849µs	850µs	868µs	929µs	4%	cubicmap_1_0_1_1
  15/15  MB	1	849µs	850µs	873µs	940µs	4%	cubicmap_1_0_1_0
  15/15  MB	1	831µs	831µs	856µs	950µs	5%	cubicmap_1_0_0_1
  15/15  MB	1	831µs	831µs	848µs	911µs	3%	cubicmap_1_0_0_0

(not checked in) if we also enable the pragma in cubic_solver

  15/15  MB	1	593µs	594µs	597µs	623µs	2%	cubicmap_0_1_1_1
  15/15  MB	1	593µs	595µs	605µs	629µs	2%	cubicmap_0_1_1_0
  15/15  MB	1	864µs	867µs	869µs	890µs	1%	cubicmap_0_1_0_1
  15/15  MB	1	864µs	866µs	886µs	950µs	4%	cubicmap_0_1_0_0
  15/15  MB	1	809µs	831µs	841µs	891µs	4%	cubicmap_1_0_1_1
  15/15  MB	1	809µs	810µs	855µs	1.11ms	11%	cubicmap_1_0_1_0
  15/15  MB	1	794µs	861µs	856µs	914µs	4%	cubicmap_1_0_0_1
  15/15  MB	1	794µs	821µs	818µs	853µs	3%	cubicmap_1_0_0_0

Change-Id: I260391be956d31a5cf3d0367d1285e56af7568f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226499
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2019-07-10 20:28:28 +00:00
..
GrContext_Base.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrGLTypesPriv.h Add API to invalidate GL texture parameters from GrBackendTexture. 2019-06-05 13:50:25 +00:00
GrImageContext.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrRecordingContext.h Make deferred render target context without config or format 2019-07-03 16:53:48 +00:00
GrResourceKey.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GrSharedEnums.h sksl enum support 2017-11-13 14:36:40 +00:00
GrSingleOwner.h Add thread safety annotations for SkMutex 2019-05-13 15:44:33 +00:00
GrTypesPriv.h Make Mock GrBackendFormat use GrColorType (instead of GrPixelConfig) 2019-07-09 17:43:14 +00:00
GrVkTypesPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkBitmaskEnum.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkChecksum.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkColorData.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkDeferredDisplayList.h Move ccpr headers for display list out of include/private. 2019-05-20 14:50:56 +00:00
SkEncodedInfo.h Move skcms.h to include/third_party/skcms 2019-04-29 15:02:45 +00:00
SkFixed.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFloatBits.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkFloatingPoint.h Move test around in cubic_solver to test function, not delta_t. 2019-07-10 20:28:28 +00:00
SkHalf.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkImageInfoPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMacros.h SkTypes: more into SkMacros 2018-06-12 20:24:43 +00:00
SkMalloc.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkMutex.h Remove all global mutexes 2019-06-18 00:39:15 +00:00
SkNoncopyable.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkNx_neon.h minor Sk4px cleanup 2018-12-18 20:46:25 +00:00
SkNx_sse.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkNx.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkOnce.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkPathRef.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSafe32.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSafe_math.h Guard against buggy ucrt\math.h. 2016-11-28 15:40:23 +00:00
SkSemaphore.h Remove all global mutexes 2019-06-18 00:39:15 +00:00
SkShadowFlags.h Remove deprecated drawShadow interfaces 2018-02-28 19:07:29 +00:00
SkSpinlock.h Add thread safety annotations. 2019-05-10 13:40:38 +00:00
SkTArray.h IWYU for SkTLogic.h 2019-05-02 21:17:37 +00:00
SkTDArray.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTemplates.h IWYU for SkTLogic.h 2019-05-02 21:17:37 +00:00
SkTFitsIn.h Add support for MSVC run-time checks (and control flow guard) 2019-02-04 20:55:24 +00:00
SkTHash.h Allow SkTHash functions to return size_t. 2019-06-23 19:06:19 +00:00
SkThreadAnnotations.h Add thread safety annotations for SkMutex 2019-05-13 15:44:33 +00:00
SkThreadID.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTLogic.h IWYU for SkTLogic.h 2019-05-02 21:17:37 +00:00
SkTo.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkVx.h free skvx from its Skia shackles 2019-06-07 18:08:23 +00:00
SkWeakRefCnt.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00