Merge pull request #51 from google/chrome/m56
authorMatthew Leibowitz <mattleibow@live.com>
Fri, 17 Feb 2017 04:35:52 +0000 (06:35 +0200)
committerGitHub <noreply@github.com>
Fri, 17 Feb 2017 04:35:52 +0000 (06:35 +0200)
Fix swapped interpretation of c and e in SkColorSpace_ICC [m56]

1  2 
src/opts/SkRasterPipeline_opts.h

@@@ -578,8 -578,8 +578,8 @@@ SI SkNf parametric(const SkNf& v, cons
      float result[N];   // Unconstrained powf() doesn't vectorize well...
      for (int i = 0; i < N; i++) {
          float s = v[i];
-         result[i] = (s <= p.fD) ? p.fE * s + p.fF
-                                 : powf(s * p.fA + p.fB, p.fG) + p.fC;
+         result[i] = (s <= p.fD) ? p.fC * s + p.fF
+                                 : powf(s * p.fA + p.fB, p.fG) + p.fE;
      }
      return SkNf::Load(result);
  }
@@@ -729,11 -729,7 +729,11 @@@ namespace SK_OPTS_NS 
              }
  
              void operator()(size_t x, size_t y, size_t n) {
 +#ifdef SK_BUILD_FOR_WINRT
 +                SkNf v = SkNf();  // gives uninitialized variable 'v' on ARM
 +#else
                  SkNf v;  // Fastest to start uninitialized.
 +#endif
  
                  float dx[] = { 0,1,2,3,4,5,6,7 };
                  SkNf X = SkNf(x) + SkNf::Load(dx) + 0.5f,