OLD | NEW |
1 #include "SkXfermode.h" | 1 #include "SkXfermode.h" |
2 #include "SkXfermode_proccoeff.h" | 2 #include "SkXfermode_proccoeff.h" |
3 #include "SkColorPriv.h" | 3 #include "SkColorPriv.h" |
4 | 4 |
5 #include <arm_neon.h> | 5 #include <arm_neon.h> |
6 #include "SkColor_opts_neon.h" | 6 #include "SkColor_opts_neon.h" |
7 #include "SkXfermode_opts_arm_neon.h" | 7 #include "SkXfermode_opts_arm_neon.h" |
8 | 8 |
9 #define SkAlphaMulAlpha(a, b) SkMulDiv255Round(a, b) | 9 #define SkAlphaMulAlpha(a, b) SkMulDiv255Round(a, b) |
10 | 10 |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 SkPMColor C = proc(src[i], dstC); | 828 SkPMColor C = proc(src[i], dstC); |
829 if (0xFF != a) { | 829 if (0xFF != a) { |
830 C = SkFourByteInterp_neon(C, dstC, a); | 830 C = SkFourByteInterp_neon(C, dstC, a); |
831 } | 831 } |
832 dst[i] = SkPixel32ToPixel16_ToU16(C); | 832 dst[i] = SkPixel32ToPixel16_ToU16(C); |
833 } | 833 } |
834 } | 834 } |
835 } | 835 } |
836 } | 836 } |
837 | 837 |
838 #ifdef SK_DEVELOPER | 838 #ifndef SK_IGNORE_TO_STRING |
839 void SkNEONProcCoeffXfermode::toString(SkString* str) const { | 839 void SkNEONProcCoeffXfermode::toString(SkString* str) const { |
840 this->INHERITED::toString(str); | 840 this->INHERITED::toString(str); |
841 } | 841 } |
842 #endif | 842 #endif |
843 | 843 |
844 //////////////////////////////////////////////////////////////////////////////// | 844 //////////////////////////////////////////////////////////////////////////////// |
845 | 845 |
846 SkXfermodeProcSIMD gNEONXfermodeProcs[] = { | 846 SkXfermodeProcSIMD gNEONXfermodeProcs[] = { |
847 NULL, // kClear_Mode | 847 NULL, // kClear_Mode |
848 NULL, // kSrc_Mode | 848 NULL, // kSrc_Mode |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
928 | 928 |
929 if (procSIMD != NULL) { | 929 if (procSIMD != NULL) { |
930 return SkNEW_ARGS(SkNEONProcCoeffXfermode, (rec, mode, procSIMD)); | 930 return SkNEW_ARGS(SkNEONProcCoeffXfermode, (rec, mode, procSIMD)); |
931 } | 931 } |
932 return NULL; | 932 return NULL; |
933 } | 933 } |
934 | 934 |
935 SkXfermodeProc SkPlatformXfermodeProcFactory_impl_neon(SkXfermode::Mode mode) { | 935 SkXfermodeProc SkPlatformXfermodeProcFactory_impl_neon(SkXfermode::Mode mode) { |
936 return gNEONXfermodeProcs1[mode]; | 936 return gNEONXfermodeProcs1[mode]; |
937 } | 937 } |
OLD | NEW |