lottie/render: add neon path srcOver compostion mode for solid src.
[platform/core/uifw/lottie-player.git] / src / vector / vdrawhelper_neon.cpp
1 #if defined(__ARM_NEON__)
2
3 #include "vdrawhelper.h"
4
5 extern "C" void
6 pixman_composite_src_n_8888_asm_neon (int32_t   w,
7                                       int32_t   h,
8                                       uint32_t *dst,
9                                       int32_t   dst_stride,
10                                       uint32_t  src);
11
12 extern "C" void
13 pixman_composite_over_n_8888_asm_neon(int32_t   w,
14                                       int32_t   h,
15                                       uint32_t *dst,
16                                       int32_t   dst_stride,
17                                       uint32_t  src);
18
19 void memfill32(uint32_t *dest, uint32_t value, int length)
20 {
21     pixman_composite_src_n_8888_asm_neon(length,
22                                          1,
23                                          dest,
24                                          length,
25                                          value);
26 }
27
28 void
29 comp_func_solid_SourceOver_neon(uint32_t *dest, int length, uint32_t color,
30                                 uint32_t const_alpha)
31 {
32     if (const_alpha != 255) color = BYTE_MUL(color, const_alpha);
33
34     pixman_composite_over_n_8888_asm_neon(length,
35                                           1,
36                                           dest,
37                                           length,
38                                           color);
39 }
40 #endif