Chromium Code Reviews| Index: src/core/SkOpts.cpp |
| diff --git a/src/core/SkOpts.cpp b/src/core/SkOpts.cpp |
| index 14d28e113b4448a5be2698cd5aa5ed8c4c6c4658..5cf57b2c6c9e4465a7c00439c5dded078d037c3c 100644 |
| --- a/src/core/SkOpts.cpp |
| +++ b/src/core/SkOpts.cpp |
| @@ -7,8 +7,11 @@ |
| #include "SkOnce.h" |
| #include "SkOpts.h" |
| + |
| #define SK_OPTS_NS portable |
| #include "SkBlurImageFilter_opts.h" |
| +#include "SkFloatingPoint_opts.h" |
| +#include "SkUtils_opts.h" |
| #include "SkXfermode_opts.h" |
| #if defined(SK_CPU_X86) |
| @@ -23,30 +26,11 @@ |
| #include <cpu-features.h> |
| #endif |
| -namespace portable { // This helps identify methods from this file when debugging / profiling. |
| - |
| -static float rsqrt(float x) { |
| - // Get initial estimate. |
| - int i = *SkTCast<int*>(&x); |
| - i = 0x5F1FFFF9 - (i>>1); |
| - float estimate = *SkTCast<float*>(&i); |
| - |
| - // One step of Newton's method to refine. |
| - const float estimate_sq = estimate*estimate; |
| - estimate *= 0.703952253f*(2.38924456f-x*estimate_sq); |
| - return estimate; |
| -} |
| - |
| -template <typename T> |
| -static void memsetT(T dst[], T val, int n) { while (n --> 0) { *dst++ = val; } } |
| - |
| -} // namespace portable |
| - |
| namespace SkOpts { |
| // Define default function pointer values here... |
|
djsollen
2015/08/04 17:43:57
add comment that these may not be the actual porta
mtklein
2015/08/04 17:52:03
Done.
|
| decltype(rsqrt) rsqrt = portable::rsqrt; |
| - decltype(memset16) memset16 = portable::memsetT<uint16_t>; |
| - decltype(memset32) memset32 = portable::memsetT<uint32_t>; |
| + decltype(memset16) memset16 = portable::memset16; |
| + decltype(memset32) memset32 = portable::memset32; |
| decltype(create_xfermode) create_xfermode = SkCreate4pxXfermode; |
| static const auto x = portable::kX, y = portable::kY; |