aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/skcms
diff options
context:
space:
mode:
authorGravatar skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>2018-04-23 17:37:32 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-04-23 18:00:30 +0000
commite6a67f14875eebfd9edac689d947fe2666b5efad (patch)
treea8df1ab61531b5d2013d10fd71e59d6eb84db50b /third_party/skcms
parent670a290163a7de3766a7fab9c3b2dc21b3ee143e (diff)
Roll skia/third_party/skcms f1a2ba9..fe14a6a (1 commits)
https://skia.googlesource.com/skcms.git/+log/f1a2ba9..fe14a6a 2018-04-23 mtklein@chromium.org factor eval_13()/grad_13() for fewer multiplies The AutoRoll server is located here: https://skcms-skia-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=stani@google.com Change-Id: Iea841211295323429db5941df6fc1e2a5df35bec Reviewed-on: https://skia-review.googlesource.com/123065 Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Diffstat (limited to 'third_party/skcms')
-rw-r--r--third_party/skcms/src/TF13.c8
-rwxr-xr-xthird_party/skcms/version.sha12
2 files changed, 4 insertions, 6 deletions
diff --git a/third_party/skcms/src/TF13.c b/third_party/skcms/src/TF13.c
index de8e61a7d3..e045ecc85b 100644
--- a/third_party/skcms/src/TF13.c
+++ b/third_party/skcms/src/TF13.c
@@ -19,15 +19,13 @@
static float eval_13(float x, const void* ctx, const float P[4]) {
(void)ctx;
- return P[0]*x*x*x
- + P[1]*x*x
- + (1 - P[0] - P[1])*x;
+ return x*(x*(x*P[0] + P[1]) + (1 - P[0] - P[1]));
}
static void grad_13(float x, const void* ctx, const float P[4], float dfdP[4]) {
(void)ctx;
(void)P;
- dfdP[0] = x*x*x - x;
- dfdP[1] = x*x - x;
+ dfdP[0] = x*(x*x - 1);
+ dfdP[1] = x*(x - 1);
}
bool skcms_ApproximateCurve13(const skcms_Curve* curve, skcms_TF13* approx, float* max_error) {
diff --git a/third_party/skcms/version.sha1 b/third_party/skcms/version.sha1
index 163409fa38..d09df616d5 100755
--- a/third_party/skcms/version.sha1
+++ b/third_party/skcms/version.sha1
@@ -1 +1 @@
-f1a2ba9622af9012fff682e7dbfdd5a78c09f35e \ No newline at end of file
+fe14a6aff9d05024284bbf576a93919c3cf8e9c4 \ No newline at end of file