aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/private
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-07-31 11:50:27 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-31 11:50:27 -0700
commit490b61569d27c9b7ba164fbc4394994d2e7cb022 (patch)
tree71c27278de2489f36925fc1fe1484339b4b04def /include/private
parent685f277dbaca5616325defb956fdf223c491ea61 (diff)
Port SkXfermode opts to SkOpts.h
Renames Sk4pxXfermode.h to SkXfermode_opts.h, and refactors it a tiny bit internally. This moves xfermode optimization from being "compile-time everywhere but NEON" to simply "runtime everywhere". I don't anticipate any effect on perf or correctness. BUG=skia:4117 Review URL: https://codereview.chromium.org/1264543006
Diffstat (limited to 'include/private')
-rw-r--r--include/private/SkOpts.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/private/SkOpts.h b/include/private/SkOpts.h
index 0594588e29..9239f8efec 100644
--- a/include/private/SkOpts.h
+++ b/include/private/SkOpts.h
@@ -9,6 +9,9 @@
#define SkOpts_DEFINED
#include "SkTypes.h"
+#include "SkXfermode.h"
+
+struct ProcCoeff;
namespace SkOpts {
// Call to replace pointers to portable functions with pointers to CPU-specific functions.
@@ -24,6 +27,9 @@ namespace SkOpts {
// See SkUtils.h
extern void (*memset16)(uint16_t[], uint16_t, int);
extern void (*memset32)(uint32_t[], uint32_t, int);
+
+ // May return nullptr if we haven't specialized the given Mode.
+ extern SkXfermode* (*create_xfermode)(const ProcCoeff&, SkXfermode::Mode);
}
#endif//SkOpts_DEFINED