Chromium Code Reviews| 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 |