Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: src/opts/SkBlitMask_opts_arm.cpp

Issue 23719002: ARM Skia NEON patches - 16/17 - Blitmask (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Rebase, group with LCD16 code and clean Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698