• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2012 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "SkBitmapProcState.h"
9 #include "SkBitmapProcState_filter.h"
10 #include "SkColorPriv.h"
11 #include "SkFilterProc.h"
12 #include "SkPaint.h"
13 #include "SkShader.h"   // for tilemodes
14 #include "SkUtilsArm.h"
15 
16 // Required to ensure the table is part of the final binary.
17 extern const SkBitmapProcState::SampleProc32 gSkBitmapProcStateSample32_neon[];
18 
19 #define   NAME_WRAP(x)  x ## _neon
20 #include "SkBitmapProcState_filter_neon.h"
21 #include "SkBitmapProcState_procs.h"
22 
23 const SkBitmapProcState::SampleProc32 gSkBitmapProcStateSample32_neon[] = {
24     S32_opaque_D32_nofilter_DXDY_neon,
25     S32_alpha_D32_nofilter_DXDY_neon,
26     S32_opaque_D32_nofilter_DX_neon,
27     S32_alpha_D32_nofilter_DX_neon,
28     S32_opaque_D32_filter_DXDY_neon,
29     S32_alpha_D32_filter_DXDY_neon,
30     S32_opaque_D32_filter_DX_neon,
31     S32_alpha_D32_filter_DX_neon,
32 
33     S16_opaque_D32_nofilter_DXDY_neon,
34     S16_alpha_D32_nofilter_DXDY_neon,
35     S16_opaque_D32_nofilter_DX_neon,
36     S16_alpha_D32_nofilter_DX_neon,
37     S16_opaque_D32_filter_DXDY_neon,
38     S16_alpha_D32_filter_DXDY_neon,
39     S16_opaque_D32_filter_DX_neon,
40     S16_alpha_D32_filter_DX_neon,
41 
42     SI8_opaque_D32_nofilter_DXDY_neon,
43     SI8_alpha_D32_nofilter_DXDY_neon,
44     SI8_opaque_D32_nofilter_DX_neon,
45     SI8_alpha_D32_nofilter_DX_neon,
46     SI8_opaque_D32_filter_DXDY_neon,
47     SI8_alpha_D32_filter_DXDY_neon,
48     SI8_opaque_D32_filter_DX_neon,
49     SI8_alpha_D32_filter_DX_neon,
50 
51     S4444_opaque_D32_nofilter_DXDY_neon,
52     S4444_alpha_D32_nofilter_DXDY_neon,
53     S4444_opaque_D32_nofilter_DX_neon,
54     S4444_alpha_D32_nofilter_DX_neon,
55     S4444_opaque_D32_filter_DXDY_neon,
56     S4444_alpha_D32_filter_DXDY_neon,
57     S4444_opaque_D32_filter_DX_neon,
58     S4444_alpha_D32_filter_DX_neon,
59 
60     // A8 treats alpha/opauqe the same (equally efficient)
61     SA8_alpha_D32_nofilter_DXDY_neon,
62     SA8_alpha_D32_nofilter_DXDY_neon,
63     SA8_alpha_D32_nofilter_DX_neon,
64     SA8_alpha_D32_nofilter_DX_neon,
65     SA8_alpha_D32_filter_DXDY_neon,
66     SA8_alpha_D32_filter_DXDY_neon,
67     SA8_alpha_D32_filter_DX_neon,
68     SA8_alpha_D32_filter_DX_neon,
69 
70     // todo: possibly specialize on opaqueness
71     SG8_alpha_D32_nofilter_DXDY_neon,
72     SG8_alpha_D32_nofilter_DXDY_neon,
73     SG8_alpha_D32_nofilter_DX_neon,
74     SG8_alpha_D32_nofilter_DX_neon,
75     SG8_alpha_D32_filter_DXDY_neon,
76     SG8_alpha_D32_filter_DXDY_neon,
77     SG8_alpha_D32_filter_DX_neon,
78     SG8_alpha_D32_filter_DX_neon,
79 };
80