blob: 2f442514dd44e2dd17fc3a842415d7f72e67ae35 [file] [log] [blame]
digit@google.com3ada0ef2012-08-13 14:06:34 +00001/*
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 */
reed0e72b7e2015-06-26 07:26:19 -07007
digit@google.com3ada0ef2012-08-13 14:06:34 +00008#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.
17extern const SkBitmapProcState::SampleProc32 gSkBitmapProcStateSample32_neon[];
digit@google.com3ada0ef2012-08-13 14:06:34 +000018
19#define NAME_WRAP(x) x ## _neon
20#include "SkBitmapProcState_filter_neon.h"
21#include "SkBitmapProcState_procs.h"
22
23const 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,
reed6fbfdb12015-03-18 11:52:35 -070068 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,
digit@google.com3ada0ef2012-08-13 14:06:34 +000079};