This source file includes following definitions.
- rasops_masks_init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #include "rasops_masks.h"
41
42
43 #if BYTE_ORDER == BIG_ENDIAN
44 const
45 #endif
46 int32_t rasops_lmask[32+1] = {
47 0x00000000, 0x7fffffff, 0x3fffffff, 0x1fffffff,
48 0x0fffffff, 0x07ffffff, 0x03ffffff, 0x01ffffff,
49 0x00ffffff, 0x007fffff, 0x003fffff, 0x001fffff,
50 0x000fffff, 0x0007ffff, 0x0003ffff, 0x0001ffff,
51 0x0000ffff, 0x00007fff, 0x00003fff, 0x00001fff,
52 0x00000fff, 0x000007ff, 0x000003ff, 0x000001ff,
53 0x000000ff, 0x0000007f, 0x0000003f, 0x0000001f,
54 0x0000000f, 0x00000007, 0x00000003, 0x00000001,
55 0x00000000
56 };
57
58 #if BYTE_ORDER == BIG_ENDIAN
59 const
60 #endif
61 int32_t rasops_rmask[32+1] = {
62 0x00000000, 0x80000000, 0xc0000000, 0xe0000000,
63 0xf0000000, 0xf8000000, 0xfc000000, 0xfe000000,
64 0xff000000, 0xff800000, 0xffc00000, 0xffe00000,
65 0xfff00000, 0xfff80000, 0xfffc0000, 0xfffe0000,
66 0xffff0000, 0xffff8000, 0xffffc000, 0xffffe000,
67 0xfffff000, 0xfffff800, 0xfffffc00, 0xfffffe00,
68 0xffffff00, 0xffffff80, 0xffffffc0, 0xffffffe0,
69 0xfffffff0, 0xfffffff8, 0xfffffffc, 0xfffffffe,
70 0xffffffff
71 };
72
73
74 #if BYTE_ORDER == BIG_ENDIAN
75 const
76 #endif
77 int32_t rasops_pmask[32][32] = {
78 { 0xffffffff, 0x80000000, 0xc0000000, 0xe0000000,
79 0xf0000000, 0xf8000000, 0xfc000000, 0xfe000000,
80 0xff000000, 0xff800000, 0xffc00000, 0xffe00000,
81 0xfff00000, 0xfff80000, 0xfffc0000, 0xfffe0000,
82 0xffff0000, 0xffff8000, 0xffffc000, 0xffffe000,
83 0xfffff000, 0xfffff800, 0xfffffc00, 0xfffffe00,
84 0xffffff00, 0xffffff80, 0xffffffc0, 0xffffffe0,
85 0xfffffff0, 0xfffffff8, 0xfffffffc, 0xfffffffe },
86
87 { 0x00000000, 0x40000000, 0x60000000, 0x70000000,
88 0x78000000, 0x7c000000, 0x7e000000, 0x7f000000,
89 0x7f800000, 0x7fc00000, 0x7fe00000, 0x7ff00000,
90 0x7ff80000, 0x7ffc0000, 0x7ffe0000, 0x7fff0000,
91 0x7fff8000, 0x7fffc000, 0x7fffe000, 0x7ffff000,
92 0x7ffff800, 0x7ffffc00, 0x7ffffe00, 0x7fffff00,
93 0x7fffff80, 0x7fffffc0, 0x7fffffe0, 0x7ffffff0,
94 0x7ffffff8, 0x7ffffffc, 0x7ffffffe, 0x7fffffff },
95
96 { 0x00000000, 0x20000000, 0x30000000, 0x38000000,
97 0x3c000000, 0x3e000000, 0x3f000000, 0x3f800000,
98 0x3fc00000, 0x3fe00000, 0x3ff00000, 0x3ff80000,
99 0x3ffc0000, 0x3ffe0000, 0x3fff0000, 0x3fff8000,
100 0x3fffc000, 0x3fffe000, 0x3ffff000, 0x3ffff800,
101 0x3ffffc00, 0x3ffffe00, 0x3fffff00, 0x3fffff80,
102 0x3fffffc0, 0x3fffffe0, 0x3ffffff0, 0x3ffffff8,
103 0x3ffffffc, 0x3ffffffe, 0x3fffffff, 0x00000000 },
104
105 { 0x00000000, 0x10000000, 0x18000000, 0x1c000000,
106 0x1e000000, 0x1f000000, 0x1f800000, 0x1fc00000,
107 0x1fe00000, 0x1ff00000, 0x1ff80000, 0x1ffc0000,
108 0x1ffe0000, 0x1fff0000, 0x1fff8000, 0x1fffc000,
109 0x1fffe000, 0x1ffff000, 0x1ffff800, 0x1ffffc00,
110 0x1ffffe00, 0x1fffff00, 0x1fffff80, 0x1fffffc0,
111 0x1fffffe0, 0x1ffffff0, 0x1ffffff8, 0x1ffffffc,
112 0x1ffffffe, 0x1fffffff, 0x00000000, 0x00000000 },
113
114 { 0x00000000, 0x08000000, 0x0c000000, 0x0e000000,
115 0x0f000000, 0x0f800000, 0x0fc00000, 0x0fe00000,
116 0x0ff00000, 0x0ff80000, 0x0ffc0000, 0x0ffe0000,
117 0x0fff0000, 0x0fff8000, 0x0fffc000, 0x0fffe000,
118 0x0ffff000, 0x0ffff800, 0x0ffffc00, 0x0ffffe00,
119 0x0fffff00, 0x0fffff80, 0x0fffffc0, 0x0fffffe0,
120 0x0ffffff0, 0x0ffffff8, 0x0ffffffc, 0x0ffffffe,
121 0x0fffffff, 0x00000000, 0x00000000, 0x00000000 },
122
123 { 0x00000000, 0x04000000, 0x06000000, 0x07000000,
124 0x07800000, 0x07c00000, 0x07e00000, 0x07f00000,
125 0x07f80000, 0x07fc0000, 0x07fe0000, 0x07ff0000,
126 0x07ff8000, 0x07ffc000, 0x07ffe000, 0x07fff000,
127 0x07fff800, 0x07fffc00, 0x07fffe00, 0x07ffff00,
128 0x07ffff80, 0x07ffffc0, 0x07ffffe0, 0x07fffff0,
129 0x07fffff8, 0x07fffffc, 0x07fffffe, 0x07ffffff,
130 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
131
132 { 0x00000000, 0x02000000, 0x03000000, 0x03800000,
133 0x03c00000, 0x03e00000, 0x03f00000, 0x03f80000,
134 0x03fc0000, 0x03fe0000, 0x03ff0000, 0x03ff8000,
135 0x03ffc000, 0x03ffe000, 0x03fff000, 0x03fff800,
136 0x03fffc00, 0x03fffe00, 0x03ffff00, 0x03ffff80,
137 0x03ffffc0, 0x03ffffe0, 0x03fffff0, 0x03fffff8,
138 0x03fffffc, 0x03fffffe, 0x03ffffff, 0x00000000,
139 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
140
141 { 0x00000000, 0x01000000, 0x01800000, 0x01c00000,
142 0x01e00000, 0x01f00000, 0x01f80000, 0x01fc0000,
143 0x01fe0000, 0x01ff0000, 0x01ff8000, 0x01ffc000,
144 0x01ffe000, 0x01fff000, 0x01fff800, 0x01fffc00,
145 0x01fffe00, 0x01ffff00, 0x01ffff80, 0x01ffffc0,
146 0x01ffffe0, 0x01fffff0, 0x01fffff8, 0x01fffffc,
147 0x01fffffe, 0x01ffffff, 0x00000000, 0x00000000,
148 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
149
150 { 0x00000000, 0x00800000, 0x00c00000, 0x00e00000,
151 0x00f00000, 0x00f80000, 0x00fc0000, 0x00fe0000,
152 0x00ff0000, 0x00ff8000, 0x00ffc000, 0x00ffe000,
153 0x00fff000, 0x00fff800, 0x00fffc00, 0x00fffe00,
154 0x00ffff00, 0x00ffff80, 0x00ffffc0, 0x00ffffe0,
155 0x00fffff0, 0x00fffff8, 0x00fffffc, 0x00fffffe,
156 0x00ffffff, 0x00000000, 0x00000000, 0x00000000,
157 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
158
159 { 0x00000000, 0x00400000, 0x00600000, 0x00700000,
160 0x00780000, 0x007c0000, 0x007e0000, 0x007f0000,
161 0x007f8000, 0x007fc000, 0x007fe000, 0x007ff000,
162 0x007ff800, 0x007ffc00, 0x007ffe00, 0x007fff00,
163 0x007fff80, 0x007fffc0, 0x007fffe0, 0x007ffff0,
164 0x007ffff8, 0x007ffffc, 0x007ffffe, 0x007fffff,
165 0x00000000, 0x00000000, 0x00000000, 0x00000000,
166 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
167
168 { 0x00000000, 0x00200000, 0x00300000, 0x00380000,
169 0x003c0000, 0x003e0000, 0x003f0000, 0x003f8000,
170 0x003fc000, 0x003fe000, 0x003ff000, 0x003ff800,
171 0x003ffc00, 0x003ffe00, 0x003fff00, 0x003fff80,
172 0x003fffc0, 0x003fffe0, 0x003ffff0, 0x003ffff8,
173 0x003ffffc, 0x003ffffe, 0x003fffff, 0x00000000,
174 0x00000000, 0x00000000, 0x00000000, 0x00000000,
175 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
176
177 { 0x00000000, 0x00100000, 0x00180000, 0x001c0000,
178 0x001e0000, 0x001f0000, 0x001f8000, 0x001fc000,
179 0x001fe000, 0x001ff000, 0x001ff800, 0x001ffc00,
180 0x001ffe00, 0x001fff00, 0x001fff80, 0x001fffc0,
181 0x001fffe0, 0x001ffff0, 0x001ffff8, 0x001ffffc,
182 0x001ffffe, 0x001fffff, 0x00000000, 0x00000000,
183 0x00000000, 0x00000000, 0x00000000, 0x00000000,
184 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
185
186 { 0x00000000, 0x00080000, 0x000c0000, 0x000e0000,
187 0x000f0000, 0x000f8000, 0x000fc000, 0x000fe000,
188 0x000ff000, 0x000ff800, 0x000ffc00, 0x000ffe00,
189 0x000fff00, 0x000fff80, 0x000fffc0, 0x000fffe0,
190 0x000ffff0, 0x000ffff8, 0x000ffffc, 0x000ffffe,
191 0x000fffff, 0x00000000, 0x00000000, 0x00000000,
192 0x00000000, 0x00000000, 0x00000000, 0x00000000,
193 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
194
195 { 0x00000000, 0x00040000, 0x00060000, 0x00070000,
196 0x00078000, 0x0007c000, 0x0007e000, 0x0007f000,
197 0x0007f800, 0x0007fc00, 0x0007fe00, 0x0007ff00,
198 0x0007ff80, 0x0007ffc0, 0x0007ffe0, 0x0007fff0,
199 0x0007fff8, 0x0007fffc, 0x0007fffe, 0x0007ffff,
200 0x00000000, 0x00000000, 0x00000000, 0x00000000,
201 0x00000000, 0x00000000, 0x00000000, 0x00000000,
202 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
203
204 { 0x00000000, 0x00020000, 0x00030000, 0x00038000,
205 0x0003c000, 0x0003e000, 0x0003f000, 0x0003f800,
206 0x0003fc00, 0x0003fe00, 0x0003ff00, 0x0003ff80,
207 0x0003ffc0, 0x0003ffe0, 0x0003fff0, 0x0003fff8,
208 0x0003fffc, 0x0003fffe, 0x0003ffff, 0x00000000,
209 0x00000000, 0x00000000, 0x00000000, 0x00000000,
210 0x00000000, 0x00000000, 0x00000000, 0x00000000,
211 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
212
213 { 0x00000000, 0x00010000, 0x00018000, 0x0001c000,
214 0x0001e000, 0x0001f000, 0x0001f800, 0x0001fc00,
215 0x0001fe00, 0x0001ff00, 0x0001ff80, 0x0001ffc0,
216 0x0001ffe0, 0x0001fff0, 0x0001fff8, 0x0001fffc,
217 0x0001fffe, 0x0001ffff, 0x00000000, 0x00000000,
218 0x00000000, 0x00000000, 0x00000000, 0x00000000,
219 0x00000000, 0x00000000, 0x00000000, 0x00000000,
220 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
221
222 { 0x00000000, 0x00008000, 0x0000c000, 0x0000e000,
223 0x0000f000, 0x0000f800, 0x0000fc00, 0x0000fe00,
224 0x0000ff00, 0x0000ff80, 0x0000ffc0, 0x0000ffe0,
225 0x0000fff0, 0x0000fff8, 0x0000fffc, 0x0000fffe,
226 0x0000ffff, 0x00000000, 0x00000000, 0x00000000,
227 0x00000000, 0x00000000, 0x00000000, 0x00000000,
228 0x00000000, 0x00000000, 0x00000000, 0x00000000,
229 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
230
231 { 0x00000000, 0x00004000, 0x00006000, 0x00007000,
232 0x00007800, 0x00007c00, 0x00007e00, 0x00007f00,
233 0x00007f80, 0x00007fc0, 0x00007fe0, 0x00007ff0,
234 0x00007ff8, 0x00007ffc, 0x00007ffe, 0x00007fff,
235 0x00000000, 0x00000000, 0x00000000, 0x00000000,
236 0x00000000, 0x00000000, 0x00000000, 0x00000000,
237 0x00000000, 0x00000000, 0x00000000, 0x00000000,
238 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
239
240 { 0x00000000, 0x00002000, 0x00003000, 0x00003800,
241 0x00003c00, 0x00003e00, 0x00003f00, 0x00003f80,
242 0x00003fc0, 0x00003fe0, 0x00003ff0, 0x00003ff8,
243 0x00003ffc, 0x00003ffe, 0x00003fff, 0x00000000,
244 0x00000000, 0x00000000, 0x00000000, 0x00000000,
245 0x00000000, 0x00000000, 0x00000000, 0x00000000,
246 0x00000000, 0x00000000, 0x00000000, 0x00000000,
247 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
248
249 { 0x00000000, 0x00001000, 0x00001800, 0x00001c00,
250 0x00001e00, 0x00001f00, 0x00001f80, 0x00001fc0,
251 0x00001fe0, 0x00001ff0, 0x00001ff8, 0x00001ffc,
252 0x00001ffe, 0x00001fff, 0x00000000, 0x00000000,
253 0x00000000, 0x00000000, 0x00000000, 0x00000000,
254 0x00000000, 0x00000000, 0x00000000, 0x00000000,
255 0x00000000, 0x00000000, 0x00000000, 0x00000000,
256 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
257
258 { 0x00000000, 0x00000800, 0x00000c00, 0x00000e00,
259 0x00000f00, 0x00000f80, 0x00000fc0, 0x00000fe0,
260 0x00000ff0, 0x00000ff8, 0x00000ffc, 0x00000ffe,
261 0x00000fff, 0x00000000, 0x00000000, 0x00000000,
262 0x00000000, 0x00000000, 0x00000000, 0x00000000,
263 0x00000000, 0x00000000, 0x00000000, 0x00000000,
264 0x00000000, 0x00000000, 0x00000000, 0x00000000,
265 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
266
267 { 0x00000000, 0x00000400, 0x00000600, 0x00000700,
268 0x00000780, 0x000007c0, 0x000007e0, 0x000007f0,
269 0x000007f8, 0x000007fc, 0x000007fe, 0x000007ff,
270 0x00000000, 0x00000000, 0x00000000, 0x00000000,
271 0x00000000, 0x00000000, 0x00000000, 0x00000000,
272 0x00000000, 0x00000000, 0x00000000, 0x00000000,
273 0x00000000, 0x00000000, 0x00000000, 0x00000000,
274 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
275
276 { 0x00000000, 0x00000200, 0x00000300, 0x00000380,
277 0x000003c0, 0x000003e0, 0x000003f0, 0x000003f8,
278 0x000003fc, 0x000003fe, 0x000003ff, 0x00000000,
279 0x00000000, 0x00000000, 0x00000000, 0x00000000,
280 0x00000000, 0x00000000, 0x00000000, 0x00000000,
281 0x00000000, 0x00000000, 0x00000000, 0x00000000,
282 0x00000000, 0x00000000, 0x00000000, 0x00000000,
283 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
284
285 { 0x00000000, 0x00000100, 0x00000180, 0x000001c0,
286 0x000001e0, 0x000001f0, 0x000001f8, 0x000001fc,
287 0x000001fe, 0x000001ff, 0x00000000, 0x00000000,
288 0x00000000, 0x00000000, 0x00000000, 0x00000000,
289 0x00000000, 0x00000000, 0x00000000, 0x00000000,
290 0x00000000, 0x00000000, 0x00000000, 0x00000000,
291 0x00000000, 0x00000000, 0x00000000, 0x00000000,
292 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
293
294 { 0x00000000, 0x00000080, 0x000000c0, 0x000000e0,
295 0x000000f0, 0x000000f8, 0x000000fc, 0x000000fe,
296 0x000000ff, 0x00000000, 0x00000000, 0x00000000,
297 0x00000000, 0x00000000, 0x00000000, 0x00000000,
298 0x00000000, 0x00000000, 0x00000000, 0x00000000,
299 0x00000000, 0x00000000, 0x00000000, 0x00000000,
300 0x00000000, 0x00000000, 0x00000000, 0x00000000,
301 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
302 { 0x00000000, 0x00000040, 0x00000060, 0x00000070,
303 0x00000078, 0x0000007c, 0x0000007e, 0x0000007f,
304 0x00000000, 0x00000000, 0x00000000, 0x00000000,
305 0x00000000, 0x00000000, 0x00000000, 0x00000000,
306 0x00000000, 0x00000000, 0x00000000, 0x00000000,
307 0x00000000, 0x00000000, 0x00000000, 0x00000000,
308 0x00000000, 0x00000000, 0x00000000, 0x00000000,
309 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
310
311 { 0x00000000, 0x00000020, 0x00000030, 0x00000038,
312 0x0000003c, 0x0000003e, 0x0000003f, 0x00000000,
313 0x00000000, 0x00000000, 0x00000000, 0x00000000,
314 0x00000000, 0x00000000, 0x00000000, 0x00000000,
315 0x00000000, 0x00000000, 0x00000000, 0x00000000,
316 0x00000000, 0x00000000, 0x00000000, 0x00000000,
317 0x00000000, 0x00000000, 0x00000000, 0x00000000,
318 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
319
320 { 0x00000000, 0x00000010, 0x00000018, 0x0000001c,
321 0x0000001e, 0x0000001f, 0x00000000, 0x00000000,
322 0x00000000, 0x00000000, 0x00000000, 0x00000000,
323 0x00000000, 0x00000000, 0x00000000, 0x00000000,
324 0x00000000, 0x00000000, 0x00000000, 0x00000000,
325 0x00000000, 0x00000000, 0x00000000, 0x00000000,
326 0x00000000, 0x00000000, 0x00000000, 0x00000000,
327 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
328
329 { 0x00000000, 0x00000008, 0x0000000c, 0x0000000e,
330 0x0000000f, 0x00000000, 0x00000000, 0x00000000,
331 0x00000000, 0x00000000, 0x00000000, 0x00000000,
332 0x00000000, 0x00000000, 0x00000000, 0x00000000,
333 0x00000000, 0x00000000, 0x00000000, 0x00000000,
334 0x00000000, 0x00000000, 0x00000000, 0x00000000,
335 0x00000000, 0x00000000, 0x00000000, 0x00000000,
336 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
337
338 { 0x00000000, 0x00000004, 0x00000006, 0x00000007,
339 0x00000000, 0x00000000, 0x00000000, 0x00000000,
340 0x00000000, 0x00000000, 0x00000000, 0x00000000,
341 0x00000000, 0x00000000, 0x00000000, 0x00000000,
342 0x00000000, 0x00000000, 0x00000000, 0x00000000,
343 0x00000000, 0x00000000, 0x00000000, 0x00000000,
344 0x00000000, 0x00000000, 0x00000000, 0x00000000,
345 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
346
347 { 0x00000000, 0x00000002, 0x00000003, 0x00000000,
348 0x00000000, 0x00000000, 0x00000000, 0x00000000,
349 0x00000000, 0x00000000, 0x00000000, 0x00000000,
350 0x00000000, 0x00000000, 0x00000000, 0x00000000,
351 0x00000000, 0x00000000, 0x00000000, 0x00000000,
352 0x00000000, 0x00000000, 0x00000000, 0x00000000,
353 0x00000000, 0x00000000, 0x00000000, 0x00000000,
354 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
355
356 { 0x00000000, 0x00000001, 0x00000000, 0x00000000,
357 0x00000000, 0x00000000, 0x00000000, 0x00000000,
358 0x00000000, 0x00000000, 0x00000000, 0x00000000,
359 0x00000000, 0x00000000, 0x00000000, 0x00000000,
360 0x00000000, 0x00000000, 0x00000000, 0x00000000,
361 0x00000000, 0x00000000, 0x00000000, 0x00000000,
362 0x00000000, 0x00000000, 0x00000000, 0x00000000,
363 0x00000000, 0x00000000, 0x00000000, 0x00000000 }
364 };
365
366 #if BYTE_ORDER != BIG_ENDIAN
367 void
368 rasops_masks_init()
369 {
370 static int flipped = 0;
371 u_int i;
372 u_int32_t *mask;
373
374 if (flipped != 0)
375 return;
376
377 mask = (u_int32_t *)rasops_lmask;
378 for (i = 0; i < sizeof(rasops_lmask) / sizeof(int32_t); i++)
379 *mask++ = MBE(*mask);
380 mask = (u_int32_t *)rasops_rmask;
381 for (i = 0; i < sizeof(rasops_rmask) / sizeof(int32_t); i++)
382 *mask++ = MBE(*mask);
383 mask = (u_int32_t *)rasops_pmask;
384 for (i = 0; i < sizeof(rasops_pmask) / sizeof(int32_t); i++)
385 *mask++ = MBE(*mask);
386
387 flipped = 1;
388 }
389 #endif