summaryrefslogtreecommitdiff
path: root/legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2012-09-24 04:13:59 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-09-24 04:13:59 +0000
commitbb4ee2174c5f3af6b9429c674d427f20904ba8a2 (patch)
treeea282cd939f9ff725c5faec176d79a959061ba20 /legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c
parente52e76fbb358823b37557d07557f0bebce1b69df (diff)
and remove 16bit engines/code as planned.
SVN revision: 77030
Diffstat (limited to '')
-rw-r--r--legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c86
1 files changed, 0 insertions, 86 deletions
diff --git a/legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c b/legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c
deleted file mode 100644
index d31bef8640..0000000000
--- a/legacy/evas/src/lib/engines/common_16/evas_soft16_scanline_fill.c
+++ /dev/null
@@ -1,86 +0,0 @@
1/** NOTE: This file is meant to be included by users **/
2
3/*****************************************************************************
4 * Point processing
5 *
6 * _soft16_pt_<description>_<src>_<dst>[_<modifier>]()
7 *
8 * Scanline processing
9 *
10 * _soft16_scanline_<description>_<src>_<dst>[_<modifier>]()
11 *
12 ****************************************************************************/
13EFL_ALWAYS_INLINE void
14_soft16_pt_fill_solid_solid(DATA16 *dst, DATA16 rgb565)
15{
16 *dst = rgb565;
17}
18
19static void
20_soft16_scanline_fill_solid_solid(DATA16 *dst, int size, DATA16 rgb565)
21{
22 DATA16 *start, *end;
23 DATA32 rgb565_double;
24
25 start = dst;
26
27 if ((long)start & 0x2)
28 {
29 *start = rgb565;
30 start++;
31 size--;
32 }
33
34 end = start + (size & ~7);
35
36 rgb565_double = (rgb565 << 16) | rgb565;
37
38 while (start < end)
39 {
40 DATA32 *p = (DATA32 *)start;
41
42 p[0] = rgb565_double;
43 p[1] = rgb565_double;
44 p[2] = rgb565_double;
45 p[3] = rgb565_double;
46
47 start += 8;
48 }
49
50 end = start + (size & 7);
51 for (; start < end; start++)
52 *start = rgb565;
53}
54
55EFL_ALWAYS_INLINE void
56_soft16_pt_fill_transp_solid(DATA16 *dst, DATA32 rgb565_unpack, DATA8 alpha)
57{
58 DATA32 d;
59
60 d = RGB_565_UNPACK(*dst);
61 d = RGB_565_UNPACKED_BLEND(rgb565_unpack, d, alpha);
62 *dst = RGB_565_PACK(d);
63}
64
65static void
66_soft16_scanline_fill_transp_solid(DATA16 *dst, int size, DATA32 rgb565_unpack, DATA8 alpha)
67{
68 DATA16 *start, *end;
69
70 start = dst;
71 pld(start, 0);
72 end = start + (size & ~7);
73
74 while (start < end)
75 {
76 pld(start, 32);
77 UNROLL8({
78 _soft16_pt_fill_transp_solid(start, rgb565_unpack, alpha);
79 start++;
80 });
81 }
82
83 end = start + (size & 7);
84 for (; start < end; start++)
85 _soft16_pt_fill_transp_solid(start, rgb565_unpack, alpha);
86}