Index: src/opts/opts_check_SSE2.cpp |
diff --git a/src/opts/opts_check_SSE2.cpp b/src/opts/opts_check_SSE2.cpp |
index c60c008b986bbeb838820a0565984eb0c5ce10dd..1d9254c0e0d923904027aeae88929171a74ec96d 100644 |
--- a/src/opts/opts_check_SSE2.cpp |
+++ b/src/opts/opts_check_SSE2.cpp |
@@ -17,6 +17,8 @@ |
#include "SkUtils.h" |
#include "SkMorphology_opts.h" |
#include "SkMorphology_opts_SSE2.h" |
+#include "SkXfermode.h" |
+#include "SkXfermode_proccoeff.h" |
#include "SkRTConf.h" |
@@ -307,3 +309,33 @@ SkBlitRow::ColorRectProc PlatformColorRectProcFactory() { |
return NULL; |
} |
} |
+ |
+extern SkProcCoeffXfermode* SkPlatformXfermodeFactory_impl_SSE2(const ProcCoeff& rec, |
+ SkXfermode::Mode mode); |
+extern SkXfermodeProc SkPlatformXfermodeProcFactory_impl_SSE2(SkXfermode::Mode mode); |
+ |
+SkProcCoeffXfermode* SkPlatformXfermodeFactory_impl(const ProcCoeff& rec, |
+ SkXfermode::Mode mode) { |
+ return NULL; |
+} |
+ |
+SkXfermodeProc SkPlatformXfermodeProcFactory_impl(SkXfermode::Mode mode) { |
+ return NULL; |
+} |
+ |
+SkProcCoeffXfermode* SkPlatformXfermodeFactory(const ProcCoeff& rec, |
+ SkXfermode::Mode mode) { |
+ if (cachedHasSSE2()) { |
+ return SkPlatformXfermodeFactory_impl_SSE2(rec, mode); |
+ } else { |
+ return SkPlatformXfermodeFactory_impl(rec, mode); |
+ } |
+} |
+ |
+SkXfermodeProc SkPlatformXfermodeProcFactory(SkXfermode::Mode mode) { |
+ if (cachedHasSSE2()) { |
+ return SkPlatformXfermodeProcFactory_impl_SSE2(mode); |
+ } else { |
+ return SkPlatformXfermodeProcFactory_impl(mode); |
+ } |
+} |