OLD | NEW |
---|---|
1 | 1 |
2 #include "SkColor.h" | |
3 #include "SkColorPriv.h" | |
2 #include "SkBlitMask.h" | 4 #include "SkBlitMask.h" |
5 #include "SkUtilsArm.h" | |
6 | |
7 | |
8 extern SkBlitMask::ColorProc D32_A8_Factory(SkColor color); | |
mtklein
2013/11/11 17:17:04
Can we do these using the already exported SkBlitM
kevin.petit.not.used.account
2013/11/11 18:10:34
Yes, you're right. Done.
| |
9 extern SkBlitMask::ColorProc D32_A8_Factory_neon(SkColor color); | |
10 | |
11 extern void SkBlitLCD16OpaqueRow_neon(SkPMColor dst[], const uint16_t src[], | |
mtklein
2013/11/11 17:17:04
Add a header for these two?
kevin.petit.not.used.account
2013/11/11 18:10:34
Done.
| |
12 SkColor color, int width, | |
13 SkPMColor opaqueDst); | |
14 | |
15 extern void SkBlitLCD16Row_neon(SkPMColor dst[], const uint16_t src[], | |
16 SkColor color, int width, SkPMColor); | |
3 | 17 |
4 SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, | 18 SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, |
5 SkMask::Format maskFormat, | 19 SkMask::Format maskFormat, |
6 SkColor color) { | 20 SkColor color) { |
reed1
2013/11/11 17:32:55
How about we just add the following as the first c
kevin.petit.not.used.account
2013/11/11 18:10:34
Thanks for the tip. Done.
| |
21 switch (dstConfig) { | |
mtklein
2013/11/11 17:17:04
Given the limited support we've got here, somethin
kevin.petit.not.used.account
2013/11/11 18:10:34
Done.
| |
22 case SkBitmap::kARGB_8888_Config: | |
23 switch (maskFormat) { | |
24 case SkMask::kA8_Format: | |
25 return SK_ARM_NEON_WRAP(D32_A8_Factory)(color); | |
26 // We don't need to handle the following case, the default LCD16 | |
27 // will call us through SkBlitMask::PlatformBlitRowProcs16() | |
28 // case SkMask::kLCD16_Format: | |
29 // return NULL; | |
30 default: | |
31 break; | |
32 } | |
33 break; | |
34 default: | |
35 break; | |
36 } | |
7 return NULL; | 37 return NULL; |
8 } | 38 } |
9 | 39 |
10 SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { | 40 SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { |
11 return NULL; | 41 if (isOpaque) { |
42 return SK_ARM_NEON_WRAP(SkBlitLCD16OpaqueRow); | |
43 } else { | |
44 return SK_ARM_NEON_WRAP(SkBlitLCD16Row); | |
45 } | |
12 } | 46 } |
13 | 47 |
14 SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, | 48 SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, |
15 SkMask::Format maskFormat, | 49 SkMask::Format maskFormat, |
16 RowFlags flags) { | 50 RowFlags flags) { |
17 return NULL; | 51 return NULL; |
18 } | 52 } |
OLD | NEW |