Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
32288 views
1
/*
2
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
#include <stdlib.h>
27
#include <string.h>
28
#include <sys/utsname.h>
29
#include "GraphicsPrimitiveMgr.h"
30
#include "java2d_Mlib.h"
31
32
typedef struct {
33
AnyFunc *func_c;
34
AnyFunc *func_vis;
35
} AnyFunc_pair;
36
37
#define DEF_FUNC(x) \
38
void x(); \
39
void ADD_SUFF(x)();
40
41
#define ADD_FUNC(x) \
42
{ & x, & ADD_SUFF(x) }
43
44
/***************************************************************/
45
46
DEF_FUNC(AnyByteDrawGlyphList)
47
DEF_FUNC(AnyByteDrawGlyphListXor)
48
DEF_FUNC(AnyByteIsomorphicCopy)
49
DEF_FUNC(AnyByteIsomorphicScaleCopy)
50
DEF_FUNC(AnyByteIsomorphicXorCopy)
51
DEF_FUNC(AnyByteSetLine)
52
DEF_FUNC(AnyByteSetRect)
53
DEF_FUNC(AnyByteSetSpans)
54
DEF_FUNC(AnyByteSetParallelogram)
55
DEF_FUNC(AnyByteXorLine)
56
DEF_FUNC(AnyByteXorRect)
57
DEF_FUNC(AnyByteXorSpans)
58
DEF_FUNC(AnyShortDrawGlyphList)
59
DEF_FUNC(AnyShortDrawGlyphListXor)
60
DEF_FUNC(AnyShortIsomorphicCopy)
61
DEF_FUNC(AnyShortIsomorphicScaleCopy)
62
DEF_FUNC(AnyShortIsomorphicXorCopy)
63
DEF_FUNC(AnyShortSetLine)
64
DEF_FUNC(AnyShortSetRect)
65
DEF_FUNC(AnyShortSetSpans)
66
DEF_FUNC(AnyShortSetParallelogram)
67
DEF_FUNC(AnyShortXorLine)
68
DEF_FUNC(AnyShortXorRect)
69
DEF_FUNC(AnyShortXorSpans)
70
DEF_FUNC(Any3ByteDrawGlyphList)
71
DEF_FUNC(Any3ByteDrawGlyphListXor)
72
DEF_FUNC(Any3ByteIsomorphicCopy)
73
DEF_FUNC(Any3ByteIsomorphicScaleCopy)
74
DEF_FUNC(Any3ByteIsomorphicXorCopy)
75
DEF_FUNC(Any3ByteSetLine)
76
DEF_FUNC(Any3ByteSetRect)
77
DEF_FUNC(Any3ByteSetSpans)
78
DEF_FUNC(Any3ByteSetParallelogram)
79
DEF_FUNC(Any3ByteXorLine)
80
DEF_FUNC(Any3ByteXorRect)
81
DEF_FUNC(Any3ByteXorSpans)
82
DEF_FUNC(Any4ByteDrawGlyphList)
83
DEF_FUNC(Any4ByteDrawGlyphListXor)
84
DEF_FUNC(Any4ByteIsomorphicCopy)
85
DEF_FUNC(Any4ByteIsomorphicScaleCopy)
86
DEF_FUNC(Any4ByteIsomorphicXorCopy)
87
DEF_FUNC(Any4ByteSetLine)
88
DEF_FUNC(Any4ByteSetRect)
89
DEF_FUNC(Any4ByteSetSpans)
90
DEF_FUNC(Any4ByteSetParallelogram)
91
DEF_FUNC(Any4ByteXorLine)
92
DEF_FUNC(Any4ByteXorRect)
93
DEF_FUNC(Any4ByteXorSpans)
94
DEF_FUNC(AnyIntDrawGlyphList)
95
DEF_FUNC(AnyIntDrawGlyphListXor)
96
DEF_FUNC(AnyIntIsomorphicCopy)
97
DEF_FUNC(AnyIntIsomorphicScaleCopy)
98
DEF_FUNC(AnyIntIsomorphicXorCopy)
99
DEF_FUNC(AnyIntSetLine)
100
DEF_FUNC(AnyIntSetRect)
101
DEF_FUNC(AnyIntSetSpans)
102
DEF_FUNC(AnyIntSetParallelogram)
103
DEF_FUNC(AnyIntXorLine)
104
DEF_FUNC(AnyIntXorRect)
105
DEF_FUNC(AnyIntXorSpans)
106
DEF_FUNC(ByteGrayAlphaMaskFill)
107
DEF_FUNC(ByteGrayDrawGlyphListAA)
108
DEF_FUNC(ByteGraySrcMaskFill)
109
DEF_FUNC(ByteGraySrcOverMaskFill)
110
DEF_FUNC(ByteGrayToIntArgbConvert)
111
DEF_FUNC(ByteGrayToIntArgbScaleConvert)
112
DEF_FUNC(ByteIndexedBmToByteGrayScaleXparOver)
113
DEF_FUNC(ByteIndexedBmToByteGrayXparBgCopy)
114
DEF_FUNC(ByteIndexedBmToByteGrayXparOver)
115
DEF_FUNC(ByteIndexedToByteGrayConvert)
116
DEF_FUNC(ByteIndexedToByteGrayScaleConvert)
117
DEF_FUNC(Index12GrayToByteGrayConvert)
118
DEF_FUNC(Index12GrayToByteGrayScaleConvert)
119
DEF_FUNC(Index8GrayToByteGrayConvert)
120
DEF_FUNC(Index8GrayToByteGrayScaleConvert)
121
DEF_FUNC(IntArgbBmToByteGrayScaleXparOver)
122
DEF_FUNC(IntArgbBmToByteGrayXparBgCopy)
123
DEF_FUNC(IntArgbBmToByteGrayXparOver)
124
DEF_FUNC(IntArgbToByteGrayAlphaMaskBlit)
125
DEF_FUNC(IntArgbToByteGrayConvert)
126
DEF_FUNC(IntArgbToByteGrayScaleConvert)
127
DEF_FUNC(IntArgbToByteGraySrcOverMaskBlit)
128
DEF_FUNC(IntArgbToByteGrayXorBlit)
129
DEF_FUNC(IntRgbToByteGrayAlphaMaskBlit)
130
DEF_FUNC(ThreeByteBgrToByteGrayConvert)
131
DEF_FUNC(ThreeByteBgrToByteGrayScaleConvert)
132
DEF_FUNC(UshortGrayToByteGrayConvert)
133
DEF_FUNC(UshortGrayToByteGrayScaleConvert)
134
DEF_FUNC(ByteGrayToUshortGrayConvert)
135
DEF_FUNC(ByteGrayToUshortGrayScaleConvert)
136
DEF_FUNC(ByteIndexedBmToUshortGrayScaleXparOver)
137
DEF_FUNC(ByteIndexedBmToUshortGrayXparBgCopy)
138
DEF_FUNC(ByteIndexedBmToUshortGrayXparOver)
139
DEF_FUNC(ByteIndexedToUshortGrayConvert)
140
DEF_FUNC(ByteIndexedToUshortGrayScaleConvert)
141
DEF_FUNC(IntArgbBmToUshortGrayScaleXparOver)
142
DEF_FUNC(IntArgbToUshortGrayAlphaMaskBlit)
143
DEF_FUNC(IntArgbToUshortGrayConvert)
144
DEF_FUNC(IntArgbToUshortGrayScaleConvert)
145
DEF_FUNC(IntArgbToUshortGraySrcOverMaskBlit)
146
DEF_FUNC(IntArgbToUshortGrayXorBlit)
147
DEF_FUNC(IntRgbToUshortGrayAlphaMaskBlit)
148
DEF_FUNC(ThreeByteBgrToUshortGrayConvert)
149
DEF_FUNC(ThreeByteBgrToUshortGrayScaleConvert)
150
DEF_FUNC(UshortGrayAlphaMaskFill)
151
DEF_FUNC(UshortGrayDrawGlyphListAA)
152
DEF_FUNC(UshortGraySrcMaskFill)
153
DEF_FUNC(UshortGraySrcOverMaskFill)
154
DEF_FUNC(UshortGrayToIntArgbConvert)
155
DEF_FUNC(UshortGrayToIntArgbScaleConvert)
156
DEF_FUNC(ByteGrayToByteIndexedConvert)
157
DEF_FUNC(ByteGrayToByteIndexedScaleConvert)
158
DEF_FUNC(ByteIndexedAlphaMaskFill)
159
DEF_FUNC(ByteIndexedBmToByteIndexedScaleXparOver)
160
DEF_FUNC(ByteIndexedBmToByteIndexedXparBgCopy)
161
DEF_FUNC(ByteIndexedBmToByteIndexedXparOver)
162
DEF_FUNC(ByteIndexedDrawGlyphListAA)
163
DEF_FUNC(ByteIndexedToByteIndexedConvert)
164
DEF_FUNC(ByteIndexedToByteIndexedScaleConvert)
165
DEF_FUNC(Index12GrayToByteIndexedConvert)
166
DEF_FUNC(Index12GrayToByteIndexedScaleConvert)
167
DEF_FUNC(IntArgbBmToByteIndexedScaleXparOver)
168
DEF_FUNC(IntArgbBmToByteIndexedXparBgCopy)
169
DEF_FUNC(IntArgbBmToByteIndexedXparOver)
170
DEF_FUNC(IntArgbToByteIndexedAlphaMaskBlit)
171
DEF_FUNC(IntArgbToByteIndexedConvert)
172
DEF_FUNC(IntArgbToByteIndexedScaleConvert)
173
DEF_FUNC(IntArgbToByteIndexedXorBlit)
174
DEF_FUNC(IntRgbToByteIndexedAlphaMaskBlit)
175
DEF_FUNC(ThreeByteBgrToByteIndexedConvert)
176
DEF_FUNC(ThreeByteBgrToByteIndexedScaleConvert)
177
DEF_FUNC(ByteGrayToFourByteAbgrConvert)
178
DEF_FUNC(ByteGrayToFourByteAbgrScaleConvert)
179
DEF_FUNC(ByteIndexedBmToFourByteAbgrScaleXparOver)
180
DEF_FUNC(ByteIndexedBmToFourByteAbgrXparBgCopy)
181
DEF_FUNC(ByteIndexedBmToFourByteAbgrXparOver)
182
DEF_FUNC(ByteIndexedToFourByteAbgrConvert)
183
DEF_FUNC(ByteIndexedToFourByteAbgrScaleConvert)
184
DEF_FUNC(FourByteAbgrAlphaMaskFill)
185
DEF_FUNC(FourByteAbgrDrawGlyphListAA)
186
DEF_FUNC(FourByteAbgrSrcMaskFill)
187
DEF_FUNC(FourByteAbgrSrcOverMaskFill)
188
DEF_FUNC(FourByteAbgrToIntArgbConvert)
189
DEF_FUNC(FourByteAbgrToIntArgbScaleConvert)
190
DEF_FUNC(IntArgbBmToFourByteAbgrScaleXparOver)
191
DEF_FUNC(IntArgbToFourByteAbgrAlphaMaskBlit)
192
DEF_FUNC(IntArgbToFourByteAbgrConvert)
193
DEF_FUNC(IntArgbToFourByteAbgrScaleConvert)
194
DEF_FUNC(IntArgbToFourByteAbgrSrcOverMaskBlit)
195
DEF_FUNC(IntArgbToFourByteAbgrXorBlit)
196
DEF_FUNC(IntRgbToFourByteAbgrAlphaMaskBlit)
197
DEF_FUNC(IntRgbToFourByteAbgrConvert)
198
DEF_FUNC(IntRgbToFourByteAbgrScaleConvert)
199
DEF_FUNC(ThreeByteBgrToFourByteAbgrConvert)
200
DEF_FUNC(ThreeByteBgrToFourByteAbgrScaleConvert)
201
DEF_FUNC(ByteGrayToFourByteAbgrPreConvert)
202
DEF_FUNC(ByteGrayToFourByteAbgrPreScaleConvert)
203
DEF_FUNC(ByteIndexedBmToFourByteAbgrPreScaleXparOver)
204
DEF_FUNC(ByteIndexedBmToFourByteAbgrPreXparBgCopy)
205
DEF_FUNC(ByteIndexedBmToFourByteAbgrPreXparOver)
206
DEF_FUNC(ByteIndexedToFourByteAbgrPreConvert)
207
DEF_FUNC(ByteIndexedToFourByteAbgrPreScaleConvert)
208
DEF_FUNC(FourByteAbgrPreAlphaMaskFill)
209
DEF_FUNC(FourByteAbgrPreDrawGlyphListAA)
210
DEF_FUNC(FourByteAbgrPreSrcMaskFill)
211
DEF_FUNC(FourByteAbgrPreSrcOverMaskFill)
212
DEF_FUNC(FourByteAbgrPreToIntArgbConvert)
213
DEF_FUNC(FourByteAbgrPreToIntArgbScaleConvert)
214
DEF_FUNC(IntArgbBmToFourByteAbgrPreScaleXparOver)
215
DEF_FUNC(IntArgbToFourByteAbgrPreAlphaMaskBlit)
216
DEF_FUNC(IntArgbToFourByteAbgrPreConvert)
217
DEF_FUNC(IntArgbToFourByteAbgrPreScaleConvert)
218
DEF_FUNC(IntArgbToFourByteAbgrPreSrcOverMaskBlit)
219
DEF_FUNC(IntArgbToFourByteAbgrPreXorBlit)
220
DEF_FUNC(IntRgbToFourByteAbgrPreAlphaMaskBlit)
221
DEF_FUNC(IntRgbToFourByteAbgrPreConvert)
222
DEF_FUNC(IntRgbToFourByteAbgrPreScaleConvert)
223
DEF_FUNC(ThreeByteBgrToFourByteAbgrPreConvert)
224
DEF_FUNC(ThreeByteBgrToFourByteAbgrPreScaleConvert)
225
DEF_FUNC(ByteIndexedBmToIntArgbScaleXparOver)
226
DEF_FUNC(ByteIndexedBmToIntArgbXparBgCopy)
227
DEF_FUNC(ByteIndexedBmToIntArgbXparOver)
228
DEF_FUNC(ByteIndexedToIntArgbConvert)
229
DEF_FUNC(ByteIndexedToIntArgbScaleConvert)
230
DEF_FUNC(Index12GrayToIntArgbConvert)
231
DEF_FUNC(IntArgbAlphaMaskFill)
232
DEF_FUNC(IntArgbBmToIntArgbScaleXparOver)
233
DEF_FUNC(IntArgbDrawGlyphListAA)
234
DEF_FUNC(IntArgbSrcMaskFill)
235
DEF_FUNC(IntArgbSrcOverMaskFill)
236
DEF_FUNC(IntArgbToIntArgbAlphaMaskBlit)
237
DEF_FUNC(IntArgbToIntArgbSrcOverMaskBlit)
238
DEF_FUNC(IntArgbToIntArgbXorBlit)
239
DEF_FUNC(IntRgbToIntArgbAlphaMaskBlit)
240
DEF_FUNC(ByteIndexedBmToIntArgbBmScaleXparOver)
241
DEF_FUNC(ByteIndexedBmToIntArgbBmXparBgCopy)
242
DEF_FUNC(ByteIndexedBmToIntArgbBmXparOver)
243
DEF_FUNC(ByteIndexedToIntArgbBmConvert)
244
DEF_FUNC(ByteIndexedToIntArgbBmScaleConvert)
245
DEF_FUNC(IntArgbBmAlphaMaskFill)
246
DEF_FUNC(IntArgbBmDrawGlyphListAA)
247
DEF_FUNC(IntArgbBmToIntArgbConvert)
248
DEF_FUNC(IntArgbToIntArgbBmAlphaMaskBlit)
249
DEF_FUNC(IntArgbToIntArgbBmConvert)
250
DEF_FUNC(IntArgbToIntArgbBmScaleConvert)
251
DEF_FUNC(IntArgbToIntArgbBmXorBlit)
252
DEF_FUNC(ByteGrayToIntArgbPreConvert)
253
DEF_FUNC(ByteGrayToIntArgbPreScaleConvert)
254
DEF_FUNC(ByteIndexedBmToIntArgbPreScaleXparOver)
255
DEF_FUNC(ByteIndexedBmToIntArgbPreXparBgCopy)
256
DEF_FUNC(ByteIndexedBmToIntArgbPreXparOver)
257
DEF_FUNC(ByteIndexedToIntArgbPreConvert)
258
DEF_FUNC(ByteIndexedToIntArgbPreScaleConvert)
259
DEF_FUNC(IntArgbPreAlphaMaskFill)
260
DEF_FUNC(IntArgbPreDrawGlyphListAA)
261
DEF_FUNC(IntArgbPreSrcMaskFill)
262
DEF_FUNC(IntArgbPreSrcOverMaskFill)
263
DEF_FUNC(IntArgbPreToIntArgbConvert)
264
DEF_FUNC(IntArgbPreToIntArgbScaleConvert)
265
DEF_FUNC(IntArgbToIntArgbPreAlphaMaskBlit)
266
DEF_FUNC(IntArgbToIntArgbPreConvert)
267
DEF_FUNC(IntArgbToIntArgbPreScaleConvert)
268
DEF_FUNC(IntArgbToIntArgbPreSrcOverMaskBlit)
269
DEF_FUNC(IntArgbToIntArgbPreXorBlit)
270
DEF_FUNC(IntRgbToIntArgbPreAlphaMaskBlit)
271
DEF_FUNC(IntRgbToIntArgbPreConvert)
272
DEF_FUNC(IntRgbToIntArgbPreScaleConvert)
273
DEF_FUNC(ThreeByteBgrToIntArgbPreConvert)
274
DEF_FUNC(ThreeByteBgrToIntArgbPreScaleConvert)
275
DEF_FUNC(ByteIndexedBmToIntBgrScaleXparOver)
276
DEF_FUNC(ByteIndexedBmToIntBgrXparBgCopy)
277
DEF_FUNC(ByteIndexedBmToIntBgrXparOver)
278
DEF_FUNC(ByteIndexedToIntBgrConvert)
279
DEF_FUNC(ByteIndexedToIntBgrScaleConvert)
280
DEF_FUNC(IntArgbBmToIntBgrScaleXparOver)
281
DEF_FUNC(IntArgbBmToIntBgrXparBgCopy)
282
DEF_FUNC(IntArgbBmToIntBgrXparOver)
283
DEF_FUNC(IntArgbToIntBgrAlphaMaskBlit)
284
DEF_FUNC(IntArgbToIntBgrConvert)
285
DEF_FUNC(IntArgbToIntBgrScaleConvert)
286
DEF_FUNC(IntArgbToIntBgrSrcOverMaskBlit)
287
DEF_FUNC(IntArgbToIntBgrXorBlit)
288
DEF_FUNC(IntBgrAlphaMaskFill)
289
DEF_FUNC(IntBgrDrawGlyphListAA)
290
DEF_FUNC(IntBgrSrcMaskFill)
291
DEF_FUNC(IntBgrSrcOverMaskFill)
292
DEF_FUNC(IntBgrToIntArgbConvert)
293
DEF_FUNC(IntBgrToIntArgbScaleConvert)
294
DEF_FUNC(IntBgrToIntBgrAlphaMaskBlit)
295
DEF_FUNC(IntRgbToIntBgrAlphaMaskBlit)
296
DEF_FUNC(ThreeByteBgrToIntBgrConvert)
297
DEF_FUNC(ThreeByteBgrToIntBgrScaleConvert)
298
DEF_FUNC(ByteGrayToIntRgbConvert)
299
DEF_FUNC(ByteGrayToIntRgbScaleConvert)
300
DEF_FUNC(IntArgbBmToIntRgbXparBgCopy)
301
DEF_FUNC(IntArgbBmToIntRgbXparOver)
302
DEF_FUNC(IntArgbToIntRgbAlphaMaskBlit)
303
DEF_FUNC(IntArgbToIntRgbSrcOverMaskBlit)
304
DEF_FUNC(IntArgbToIntRgbXorBlit)
305
DEF_FUNC(IntRgbAlphaMaskFill)
306
DEF_FUNC(IntRgbDrawGlyphListAA)
307
DEF_FUNC(IntRgbSrcMaskFill)
308
DEF_FUNC(IntRgbSrcOverMaskFill)
309
DEF_FUNC(IntRgbToIntArgbConvert)
310
DEF_FUNC(IntRgbToIntArgbScaleConvert)
311
DEF_FUNC(IntRgbToIntRgbAlphaMaskBlit)
312
DEF_FUNC(ThreeByteBgrToIntRgbConvert)
313
DEF_FUNC(ThreeByteBgrToIntRgbScaleConvert)
314
DEF_FUNC(ByteGrayToIntRgbxConvert)
315
DEF_FUNC(ByteGrayToIntRgbxScaleConvert)
316
DEF_FUNC(ByteIndexedBmToIntRgbxScaleXparOver)
317
DEF_FUNC(ByteIndexedBmToIntRgbxXparBgCopy)
318
DEF_FUNC(ByteIndexedBmToIntRgbxXparOver)
319
DEF_FUNC(ByteIndexedToIntRgbxConvert)
320
DEF_FUNC(ByteIndexedToIntRgbxScaleConvert)
321
DEF_FUNC(IntArgbBmToIntRgbxScaleXparOver)
322
DEF_FUNC(IntArgbToIntRgbxConvert)
323
DEF_FUNC(IntArgbToIntRgbxScaleConvert)
324
DEF_FUNC(IntArgbToIntRgbxXorBlit)
325
DEF_FUNC(IntRgbxDrawGlyphListAA)
326
DEF_FUNC(IntRgbxToIntArgbConvert)
327
DEF_FUNC(IntRgbxToIntArgbScaleConvert)
328
DEF_FUNC(ThreeByteBgrToIntRgbxConvert)
329
DEF_FUNC(ThreeByteBgrToIntRgbxScaleConvert)
330
DEF_FUNC(ByteGrayToThreeByteBgrConvert)
331
DEF_FUNC(ByteGrayToThreeByteBgrScaleConvert)
332
DEF_FUNC(ByteIndexedBmToThreeByteBgrScaleXparOver)
333
DEF_FUNC(ByteIndexedBmToThreeByteBgrXparBgCopy)
334
DEF_FUNC(ByteIndexedBmToThreeByteBgrXparOver)
335
DEF_FUNC(ByteIndexedToThreeByteBgrConvert)
336
DEF_FUNC(ByteIndexedToThreeByteBgrScaleConvert)
337
DEF_FUNC(IntArgbBmToThreeByteBgrScaleXparOver)
338
DEF_FUNC(IntArgbBmToThreeByteBgrXparBgCopy)
339
DEF_FUNC(IntArgbBmToThreeByteBgrXparOver)
340
DEF_FUNC(IntArgbToThreeByteBgrAlphaMaskBlit)
341
DEF_FUNC(IntArgbToThreeByteBgrConvert)
342
DEF_FUNC(IntArgbToThreeByteBgrScaleConvert)
343
DEF_FUNC(IntArgbToThreeByteBgrSrcOverMaskBlit)
344
DEF_FUNC(IntArgbToThreeByteBgrXorBlit)
345
DEF_FUNC(IntRgbToThreeByteBgrAlphaMaskBlit)
346
DEF_FUNC(ThreeByteBgrAlphaMaskFill)
347
DEF_FUNC(ThreeByteBgrDrawGlyphListAA)
348
DEF_FUNC(ThreeByteBgrSrcMaskFill)
349
DEF_FUNC(ThreeByteBgrSrcOverMaskFill)
350
DEF_FUNC(ThreeByteBgrToIntArgbConvert)
351
DEF_FUNC(ThreeByteBgrToIntArgbScaleConvert)
352
DEF_FUNC(ByteGrayToIndex8GrayConvert)
353
DEF_FUNC(ByteGrayToIndex8GrayScaleConvert)
354
DEF_FUNC(ByteIndexedBmToIndex8GrayXparBgCopy)
355
DEF_FUNC(ByteIndexedBmToIndex8GrayXparOver)
356
DEF_FUNC(ByteIndexedToIndex8GrayConvert)
357
DEF_FUNC(ByteIndexedToIndex8GrayScaleConvert)
358
DEF_FUNC(Index12GrayToIndex8GrayConvert)
359
DEF_FUNC(Index12GrayToIndex8GrayScaleConvert)
360
DEF_FUNC(Index8GrayAlphaMaskFill)
361
DEF_FUNC(Index8GrayDrawGlyphListAA)
362
DEF_FUNC(Index8GraySrcOverMaskFill)
363
DEF_FUNC(Index8GrayToIndex8GrayConvert)
364
DEF_FUNC(Index8GrayToIndex8GrayScaleConvert)
365
DEF_FUNC(IntArgbToIndex8GrayAlphaMaskBlit)
366
DEF_FUNC(IntArgbToIndex8GrayConvert)
367
DEF_FUNC(IntArgbToIndex8GrayScaleConvert)
368
DEF_FUNC(IntArgbToIndex8GraySrcOverMaskBlit)
369
DEF_FUNC(IntArgbToIndex8GrayXorBlit)
370
DEF_FUNC(IntRgbToIndex8GrayAlphaMaskBlit)
371
DEF_FUNC(ThreeByteBgrToIndex8GrayConvert)
372
DEF_FUNC(ThreeByteBgrToIndex8GrayScaleConvert)
373
DEF_FUNC(UshortGrayToIndex8GrayScaleConvert)
374
DEF_FUNC(ByteGrayToIndex12GrayConvert)
375
DEF_FUNC(ByteGrayToIndex12GrayScaleConvert)
376
DEF_FUNC(ByteIndexedBmToIndex12GrayXparBgCopy)
377
DEF_FUNC(ByteIndexedBmToIndex12GrayXparOver)
378
DEF_FUNC(ByteIndexedToIndex12GrayConvert)
379
DEF_FUNC(ByteIndexedToIndex12GrayScaleConvert)
380
DEF_FUNC(Index12GrayAlphaMaskFill)
381
DEF_FUNC(Index12GrayDrawGlyphListAA)
382
DEF_FUNC(Index12GraySrcOverMaskFill)
383
DEF_FUNC(Index12GrayToIndex12GrayConvert)
384
DEF_FUNC(Index12GrayToIndex12GrayScaleConvert)
385
DEF_FUNC(Index12GrayToIntArgbScaleConvert)
386
DEF_FUNC(Index8GrayToIndex12GrayConvert)
387
DEF_FUNC(Index8GrayToIndex12GrayScaleConvert)
388
DEF_FUNC(IntArgbToIndex12GrayAlphaMaskBlit)
389
DEF_FUNC(IntArgbToIndex12GrayConvert)
390
DEF_FUNC(IntArgbToIndex12GrayScaleConvert)
391
DEF_FUNC(IntArgbToIndex12GraySrcOverMaskBlit)
392
DEF_FUNC(IntArgbToIndex12GrayXorBlit)
393
DEF_FUNC(IntRgbToIndex12GrayAlphaMaskBlit)
394
DEF_FUNC(ThreeByteBgrToIndex12GrayConvert)
395
DEF_FUNC(ThreeByteBgrToIndex12GrayScaleConvert)
396
DEF_FUNC(UshortGrayToIndex12GrayScaleConvert)
397
DEF_FUNC(ByteBinary1BitAlphaMaskFill)
398
DEF_FUNC(ByteBinary1BitDrawGlyphList)
399
DEF_FUNC(ByteBinary1BitDrawGlyphListAA)
400
DEF_FUNC(ByteBinary1BitDrawGlyphListXor)
401
DEF_FUNC(ByteBinary1BitSetLine)
402
DEF_FUNC(ByteBinary1BitSetRect)
403
DEF_FUNC(ByteBinary1BitSetSpans)
404
DEF_FUNC(ByteBinary1BitToByteBinary1BitConvert)
405
DEF_FUNC(ByteBinary1BitToIntArgbAlphaMaskBlit)
406
DEF_FUNC(ByteBinary1BitToIntArgbConvert)
407
DEF_FUNC(ByteBinary1BitXorLine)
408
DEF_FUNC(ByteBinary1BitXorRect)
409
DEF_FUNC(ByteBinary1BitXorSpans)
410
DEF_FUNC(IntArgbToByteBinary1BitAlphaMaskBlit)
411
DEF_FUNC(IntArgbToByteBinary1BitConvert)
412
DEF_FUNC(IntArgbToByteBinary1BitXorBlit)
413
DEF_FUNC(ByteBinary2BitAlphaMaskFill)
414
DEF_FUNC(ByteBinary2BitDrawGlyphList)
415
DEF_FUNC(ByteBinary2BitDrawGlyphListAA)
416
DEF_FUNC(ByteBinary2BitDrawGlyphListXor)
417
DEF_FUNC(ByteBinary2BitSetLine)
418
DEF_FUNC(ByteBinary2BitSetRect)
419
DEF_FUNC(ByteBinary2BitSetSpans)
420
DEF_FUNC(ByteBinary2BitToByteBinary2BitConvert)
421
DEF_FUNC(ByteBinary2BitToIntArgbAlphaMaskBlit)
422
DEF_FUNC(ByteBinary2BitToIntArgbConvert)
423
DEF_FUNC(ByteBinary2BitXorLine)
424
DEF_FUNC(ByteBinary2BitXorRect)
425
DEF_FUNC(ByteBinary2BitXorSpans)
426
DEF_FUNC(IntArgbToByteBinary2BitAlphaMaskBlit)
427
DEF_FUNC(IntArgbToByteBinary2BitConvert)
428
DEF_FUNC(IntArgbToByteBinary2BitXorBlit)
429
DEF_FUNC(ByteBinary4BitAlphaMaskFill)
430
DEF_FUNC(ByteBinary4BitDrawGlyphList)
431
DEF_FUNC(ByteBinary4BitDrawGlyphListAA)
432
DEF_FUNC(ByteBinary4BitDrawGlyphListXor)
433
DEF_FUNC(ByteBinary4BitSetLine)
434
DEF_FUNC(ByteBinary4BitSetRect)
435
DEF_FUNC(ByteBinary4BitSetSpans)
436
DEF_FUNC(ByteBinary4BitToByteBinary4BitConvert)
437
DEF_FUNC(ByteBinary4BitToIntArgbAlphaMaskBlit)
438
DEF_FUNC(ByteBinary4BitToIntArgbConvert)
439
DEF_FUNC(ByteBinary4BitXorLine)
440
DEF_FUNC(ByteBinary4BitXorRect)
441
DEF_FUNC(ByteBinary4BitXorSpans)
442
DEF_FUNC(IntArgbToByteBinary4BitAlphaMaskBlit)
443
DEF_FUNC(IntArgbToByteBinary4BitConvert)
444
DEF_FUNC(IntArgbToByteBinary4BitXorBlit)
445
DEF_FUNC(ByteGrayToUshort555RgbConvert)
446
DEF_FUNC(ByteGrayToUshort555RgbScaleConvert)
447
DEF_FUNC(ByteIndexedBmToUshort555RgbScaleXparOver)
448
DEF_FUNC(ByteIndexedBmToUshort555RgbXparBgCopy)
449
DEF_FUNC(ByteIndexedBmToUshort555RgbXparOver)
450
DEF_FUNC(ByteIndexedToUshort555RgbConvert)
451
DEF_FUNC(ByteIndexedToUshort555RgbScaleConvert)
452
DEF_FUNC(IntArgbBmToUshort555RgbScaleXparOver)
453
DEF_FUNC(IntArgbBmToUshort555RgbXparBgCopy)
454
DEF_FUNC(IntArgbBmToUshort555RgbXparOver)
455
DEF_FUNC(IntArgbToUshort555RgbAlphaMaskBlit)
456
DEF_FUNC(IntArgbToUshort555RgbConvert)
457
DEF_FUNC(IntArgbToUshort555RgbScaleConvert)
458
DEF_FUNC(IntArgbToUshort555RgbSrcOverMaskBlit)
459
DEF_FUNC(IntArgbToUshort555RgbXorBlit)
460
DEF_FUNC(IntRgbToUshort555RgbAlphaMaskBlit)
461
DEF_FUNC(ThreeByteBgrToUshort555RgbConvert)
462
DEF_FUNC(ThreeByteBgrToUshort555RgbScaleConvert)
463
DEF_FUNC(Ushort555RgbAlphaMaskFill)
464
DEF_FUNC(Ushort555RgbDrawGlyphListAA)
465
DEF_FUNC(Ushort555RgbSrcMaskFill)
466
DEF_FUNC(Ushort555RgbSrcOverMaskFill)
467
DEF_FUNC(Ushort555RgbToIntArgbConvert)
468
DEF_FUNC(Ushort555RgbToIntArgbScaleConvert)
469
DEF_FUNC(ByteGrayToUshort555RgbxConvert)
470
DEF_FUNC(ByteGrayToUshort555RgbxScaleConvert)
471
DEF_FUNC(ByteIndexedBmToUshort555RgbxScaleXparOver)
472
DEF_FUNC(ByteIndexedBmToUshort555RgbxXparBgCopy)
473
DEF_FUNC(ByteIndexedBmToUshort555RgbxXparOver)
474
DEF_FUNC(ByteIndexedToUshort555RgbxConvert)
475
DEF_FUNC(ByteIndexedToUshort555RgbxScaleConvert)
476
DEF_FUNC(IntArgbBmToUshort555RgbxScaleXparOver)
477
DEF_FUNC(IntArgbToUshort555RgbxConvert)
478
DEF_FUNC(IntArgbToUshort555RgbxScaleConvert)
479
DEF_FUNC(IntArgbToUshort555RgbxXorBlit)
480
DEF_FUNC(ThreeByteBgrToUshort555RgbxConvert)
481
DEF_FUNC(ThreeByteBgrToUshort555RgbxScaleConvert)
482
DEF_FUNC(Ushort555RgbxDrawGlyphListAA)
483
DEF_FUNC(Ushort555RgbxToIntArgbConvert)
484
DEF_FUNC(Ushort555RgbxToIntArgbScaleConvert)
485
DEF_FUNC(ByteGrayToUshort565RgbConvert)
486
DEF_FUNC(ByteGrayToUshort565RgbScaleConvert)
487
DEF_FUNC(ByteIndexedBmToUshort565RgbScaleXparOver)
488
DEF_FUNC(ByteIndexedBmToUshort565RgbXparBgCopy)
489
DEF_FUNC(ByteIndexedBmToUshort565RgbXparOver)
490
DEF_FUNC(ByteIndexedToUshort565RgbConvert)
491
DEF_FUNC(ByteIndexedToUshort565RgbScaleConvert)
492
DEF_FUNC(IntArgbBmToUshort565RgbScaleXparOver)
493
DEF_FUNC(IntArgbBmToUshort565RgbXparBgCopy)
494
DEF_FUNC(IntArgbBmToUshort565RgbXparOver)
495
DEF_FUNC(IntArgbToUshort565RgbAlphaMaskBlit)
496
DEF_FUNC(IntArgbToUshort565RgbConvert)
497
DEF_FUNC(IntArgbToUshort565RgbScaleConvert)
498
DEF_FUNC(IntArgbToUshort565RgbSrcOverMaskBlit)
499
DEF_FUNC(IntArgbToUshort565RgbXorBlit)
500
DEF_FUNC(IntRgbToUshort565RgbAlphaMaskBlit)
501
DEF_FUNC(ThreeByteBgrToUshort565RgbConvert)
502
DEF_FUNC(ThreeByteBgrToUshort565RgbScaleConvert)
503
DEF_FUNC(Ushort565RgbAlphaMaskFill)
504
DEF_FUNC(Ushort565RgbDrawGlyphListAA)
505
DEF_FUNC(Ushort565RgbSrcMaskFill)
506
DEF_FUNC(Ushort565RgbSrcOverMaskFill)
507
DEF_FUNC(Ushort565RgbToIntArgbConvert)
508
DEF_FUNC(Ushort565RgbToIntArgbScaleConvert)
509
510
/***************************************************************/
511
512
static AnyFunc_pair vis_func_pair_array[] = {
513
ADD_FUNC(AnyByteDrawGlyphList),
514
ADD_FUNC(AnyByteDrawGlyphListXor),
515
ADD_FUNC(AnyByteIsomorphicCopy),
516
ADD_FUNC(AnyByteIsomorphicScaleCopy),
517
ADD_FUNC(AnyByteIsomorphicXorCopy),
518
ADD_FUNC(AnyByteSetLine),
519
ADD_FUNC(AnyByteSetRect),
520
ADD_FUNC(AnyByteSetSpans),
521
ADD_FUNC(AnyByteSetParallelogram),
522
ADD_FUNC(AnyByteXorLine),
523
ADD_FUNC(AnyByteXorRect),
524
ADD_FUNC(AnyByteXorSpans),
525
ADD_FUNC(AnyShortDrawGlyphList),
526
ADD_FUNC(AnyShortDrawGlyphListXor),
527
ADD_FUNC(AnyShortIsomorphicCopy),
528
ADD_FUNC(AnyShortIsomorphicScaleCopy),
529
ADD_FUNC(AnyShortIsomorphicXorCopy),
530
ADD_FUNC(AnyShortSetLine),
531
ADD_FUNC(AnyShortSetRect),
532
ADD_FUNC(AnyShortSetSpans),
533
ADD_FUNC(AnyShortSetParallelogram),
534
ADD_FUNC(AnyShortXorLine),
535
ADD_FUNC(AnyShortXorRect),
536
ADD_FUNC(AnyShortXorSpans),
537
ADD_FUNC(Any3ByteIsomorphicCopy),
538
ADD_FUNC(Any3ByteIsomorphicScaleCopy),
539
ADD_FUNC(Any3ByteIsomorphicXorCopy),
540
ADD_FUNC(Any3ByteSetLine),
541
ADD_FUNC(Any3ByteSetRect),
542
ADD_FUNC(Any3ByteSetSpans),
543
ADD_FUNC(Any3ByteSetParallelogram),
544
ADD_FUNC(Any3ByteXorLine),
545
ADD_FUNC(Any3ByteXorRect),
546
ADD_FUNC(Any3ByteXorSpans),
547
ADD_FUNC(Any4ByteDrawGlyphList),
548
ADD_FUNC(Any4ByteDrawGlyphListXor),
549
ADD_FUNC(Any4ByteIsomorphicCopy),
550
ADD_FUNC(Any4ByteIsomorphicScaleCopy),
551
ADD_FUNC(Any4ByteIsomorphicXorCopy),
552
ADD_FUNC(Any4ByteSetLine),
553
ADD_FUNC(Any4ByteSetRect),
554
ADD_FUNC(Any4ByteSetSpans),
555
ADD_FUNC(Any4ByteSetParallelogram),
556
ADD_FUNC(Any4ByteXorLine),
557
ADD_FUNC(Any4ByteXorRect),
558
ADD_FUNC(Any4ByteXorSpans),
559
ADD_FUNC(AnyIntDrawGlyphList),
560
ADD_FUNC(AnyIntDrawGlyphListXor),
561
ADD_FUNC(AnyIntIsomorphicCopy),
562
ADD_FUNC(AnyIntIsomorphicScaleCopy),
563
ADD_FUNC(AnyIntIsomorphicXorCopy),
564
ADD_FUNC(AnyIntSetLine),
565
ADD_FUNC(AnyIntSetRect),
566
ADD_FUNC(AnyIntSetSpans),
567
ADD_FUNC(AnyIntSetParallelogram),
568
ADD_FUNC(AnyIntXorLine),
569
ADD_FUNC(AnyIntXorRect),
570
ADD_FUNC(AnyIntXorSpans),
571
ADD_FUNC(ByteGrayAlphaMaskFill),
572
ADD_FUNC(ByteGrayDrawGlyphListAA),
573
ADD_FUNC(ByteGraySrcMaskFill),
574
ADD_FUNC(ByteGraySrcOverMaskFill),
575
ADD_FUNC(ByteGrayToIntArgbConvert),
576
ADD_FUNC(ByteGrayToIntArgbScaleConvert),
577
ADD_FUNC(ByteIndexedBmToByteGrayScaleXparOver),
578
ADD_FUNC(ByteIndexedBmToByteGrayXparBgCopy),
579
ADD_FUNC(ByteIndexedBmToByteGrayXparOver),
580
ADD_FUNC(ByteIndexedToByteGrayConvert),
581
ADD_FUNC(ByteIndexedToByteGrayScaleConvert),
582
ADD_FUNC(Index12GrayToByteGrayConvert),
583
ADD_FUNC(Index12GrayToByteGrayScaleConvert),
584
ADD_FUNC(Index8GrayToByteGrayConvert),
585
ADD_FUNC(Index8GrayToByteGrayScaleConvert),
586
ADD_FUNC(IntArgbBmToByteGrayScaleXparOver),
587
ADD_FUNC(IntArgbBmToByteGrayXparBgCopy),
588
ADD_FUNC(IntArgbBmToByteGrayXparOver),
589
ADD_FUNC(IntArgbToByteGrayAlphaMaskBlit),
590
ADD_FUNC(IntArgbToByteGrayConvert),
591
ADD_FUNC(IntArgbToByteGrayScaleConvert),
592
ADD_FUNC(IntArgbToByteGraySrcOverMaskBlit),
593
ADD_FUNC(IntArgbToByteGrayXorBlit),
594
ADD_FUNC(IntRgbToByteGrayAlphaMaskBlit),
595
ADD_FUNC(ThreeByteBgrToByteGrayConvert),
596
ADD_FUNC(ThreeByteBgrToByteGrayScaleConvert),
597
ADD_FUNC(UshortGrayToByteGrayConvert),
598
ADD_FUNC(UshortGrayToByteGrayScaleConvert),
599
ADD_FUNC(ByteGrayToUshortGrayConvert),
600
ADD_FUNC(ByteGrayToUshortGrayScaleConvert),
601
ADD_FUNC(ByteIndexedBmToUshortGrayScaleXparOver),
602
ADD_FUNC(ByteIndexedBmToUshortGrayXparBgCopy),
603
ADD_FUNC(ByteIndexedBmToUshortGrayXparOver),
604
ADD_FUNC(ByteIndexedToUshortGrayConvert),
605
ADD_FUNC(ByteIndexedToUshortGrayScaleConvert),
606
ADD_FUNC(IntArgbBmToUshortGrayScaleXparOver),
607
ADD_FUNC(IntArgbToUshortGrayConvert),
608
ADD_FUNC(IntArgbToUshortGrayScaleConvert),
609
ADD_FUNC(ThreeByteBgrToUshortGrayConvert),
610
ADD_FUNC(ThreeByteBgrToUshortGrayScaleConvert),
611
ADD_FUNC(UshortGrayToIntArgbConvert),
612
ADD_FUNC(UshortGrayToIntArgbScaleConvert),
613
ADD_FUNC(ByteGrayToByteIndexedConvert),
614
ADD_FUNC(ByteGrayToByteIndexedScaleConvert),
615
ADD_FUNC(ByteIndexedBmToByteIndexedScaleXparOver),
616
ADD_FUNC(ByteIndexedBmToByteIndexedXparBgCopy),
617
ADD_FUNC(ByteIndexedBmToByteIndexedXparOver),
618
ADD_FUNC(ByteIndexedToByteIndexedConvert),
619
ADD_FUNC(ByteIndexedToByteIndexedScaleConvert),
620
ADD_FUNC(Index12GrayToByteIndexedConvert),
621
ADD_FUNC(Index12GrayToByteIndexedScaleConvert),
622
ADD_FUNC(IntArgbBmToByteIndexedScaleXparOver),
623
ADD_FUNC(IntArgbBmToByteIndexedXparBgCopy),
624
ADD_FUNC(IntArgbBmToByteIndexedXparOver),
625
ADD_FUNC(IntArgbToByteIndexedConvert),
626
ADD_FUNC(IntArgbToByteIndexedScaleConvert),
627
ADD_FUNC(IntArgbToByteIndexedXorBlit),
628
ADD_FUNC(ThreeByteBgrToByteIndexedConvert),
629
ADD_FUNC(ThreeByteBgrToByteIndexedScaleConvert),
630
ADD_FUNC(ByteGrayToFourByteAbgrConvert),
631
ADD_FUNC(ByteGrayToFourByteAbgrScaleConvert),
632
ADD_FUNC(ByteIndexedBmToFourByteAbgrScaleXparOver),
633
ADD_FUNC(ByteIndexedBmToFourByteAbgrXparBgCopy),
634
ADD_FUNC(ByteIndexedBmToFourByteAbgrXparOver),
635
ADD_FUNC(ByteIndexedToFourByteAbgrConvert),
636
ADD_FUNC(ByteIndexedToFourByteAbgrScaleConvert),
637
ADD_FUNC(FourByteAbgrAlphaMaskFill),
638
ADD_FUNC(FourByteAbgrDrawGlyphListAA),
639
ADD_FUNC(FourByteAbgrSrcMaskFill),
640
ADD_FUNC(FourByteAbgrSrcOverMaskFill),
641
ADD_FUNC(FourByteAbgrToIntArgbConvert),
642
ADD_FUNC(FourByteAbgrToIntArgbScaleConvert),
643
ADD_FUNC(IntArgbBmToFourByteAbgrScaleXparOver),
644
ADD_FUNC(IntArgbToFourByteAbgrAlphaMaskBlit),
645
ADD_FUNC(IntArgbToFourByteAbgrConvert),
646
ADD_FUNC(IntArgbToFourByteAbgrScaleConvert),
647
ADD_FUNC(IntArgbToFourByteAbgrSrcOverMaskBlit),
648
ADD_FUNC(IntArgbToFourByteAbgrXorBlit),
649
ADD_FUNC(IntRgbToFourByteAbgrAlphaMaskBlit),
650
ADD_FUNC(IntRgbToFourByteAbgrConvert),
651
ADD_FUNC(IntRgbToFourByteAbgrScaleConvert),
652
ADD_FUNC(ThreeByteBgrToFourByteAbgrConvert),
653
ADD_FUNC(ThreeByteBgrToFourByteAbgrScaleConvert),
654
ADD_FUNC(ByteGrayToFourByteAbgrPreConvert),
655
ADD_FUNC(ByteGrayToFourByteAbgrPreScaleConvert),
656
ADD_FUNC(ByteIndexedBmToFourByteAbgrPreScaleXparOver),
657
ADD_FUNC(ByteIndexedBmToFourByteAbgrPreXparBgCopy),
658
ADD_FUNC(ByteIndexedBmToFourByteAbgrPreXparOver),
659
ADD_FUNC(ByteIndexedToFourByteAbgrPreConvert),
660
ADD_FUNC(ByteIndexedToFourByteAbgrPreScaleConvert),
661
ADD_FUNC(FourByteAbgrPreAlphaMaskFill),
662
ADD_FUNC(FourByteAbgrPreDrawGlyphListAA),
663
ADD_FUNC(FourByteAbgrPreSrcMaskFill),
664
ADD_FUNC(FourByteAbgrPreSrcOverMaskFill),
665
ADD_FUNC(FourByteAbgrPreToIntArgbConvert),
666
ADD_FUNC(FourByteAbgrPreToIntArgbScaleConvert),
667
ADD_FUNC(IntArgbBmToFourByteAbgrPreScaleXparOver),
668
ADD_FUNC(IntArgbToFourByteAbgrPreAlphaMaskBlit),
669
ADD_FUNC(IntArgbToFourByteAbgrPreConvert),
670
ADD_FUNC(IntArgbToFourByteAbgrPreScaleConvert),
671
ADD_FUNC(IntArgbToFourByteAbgrPreSrcOverMaskBlit),
672
ADD_FUNC(IntArgbToFourByteAbgrPreXorBlit),
673
ADD_FUNC(IntRgbToFourByteAbgrPreAlphaMaskBlit),
674
ADD_FUNC(IntRgbToFourByteAbgrPreConvert),
675
ADD_FUNC(IntRgbToFourByteAbgrPreScaleConvert),
676
ADD_FUNC(ThreeByteBgrToFourByteAbgrPreConvert),
677
ADD_FUNC(ThreeByteBgrToFourByteAbgrPreScaleConvert),
678
ADD_FUNC(ByteIndexedBmToIntArgbScaleXparOver),
679
ADD_FUNC(ByteIndexedBmToIntArgbXparBgCopy),
680
ADD_FUNC(ByteIndexedBmToIntArgbXparOver),
681
ADD_FUNC(ByteIndexedToIntArgbConvert),
682
ADD_FUNC(ByteIndexedToIntArgbScaleConvert),
683
ADD_FUNC(Index12GrayToIntArgbConvert),
684
ADD_FUNC(IntArgbAlphaMaskFill),
685
ADD_FUNC(IntArgbBmToIntArgbScaleXparOver),
686
ADD_FUNC(IntArgbDrawGlyphListAA),
687
ADD_FUNC(IntArgbSrcMaskFill),
688
ADD_FUNC(IntArgbSrcOverMaskFill),
689
ADD_FUNC(IntArgbToIntArgbAlphaMaskBlit),
690
ADD_FUNC(IntArgbToIntArgbSrcOverMaskBlit),
691
ADD_FUNC(IntArgbToIntArgbXorBlit),
692
ADD_FUNC(IntRgbToIntArgbAlphaMaskBlit),
693
ADD_FUNC(ByteIndexedBmToIntArgbBmScaleXparOver),
694
ADD_FUNC(ByteIndexedBmToIntArgbBmXparBgCopy),
695
ADD_FUNC(ByteIndexedBmToIntArgbBmXparOver),
696
ADD_FUNC(ByteIndexedToIntArgbBmConvert),
697
ADD_FUNC(ByteIndexedToIntArgbBmScaleConvert),
698
ADD_FUNC(IntArgbBmDrawGlyphListAA),
699
ADD_FUNC(IntArgbBmToIntArgbConvert),
700
ADD_FUNC(IntArgbToIntArgbBmConvert),
701
ADD_FUNC(IntArgbToIntArgbBmScaleConvert),
702
ADD_FUNC(IntArgbToIntArgbBmXorBlit),
703
ADD_FUNC(ByteGrayToIntArgbPreConvert),
704
ADD_FUNC(ByteGrayToIntArgbPreScaleConvert),
705
ADD_FUNC(ByteIndexedBmToIntArgbPreScaleXparOver),
706
ADD_FUNC(ByteIndexedBmToIntArgbPreXparBgCopy),
707
ADD_FUNC(ByteIndexedBmToIntArgbPreXparOver),
708
ADD_FUNC(ByteIndexedToIntArgbPreConvert),
709
ADD_FUNC(ByteIndexedToIntArgbPreScaleConvert),
710
ADD_FUNC(IntArgbPreAlphaMaskFill),
711
ADD_FUNC(IntArgbPreDrawGlyphListAA),
712
ADD_FUNC(IntArgbPreSrcMaskFill),
713
ADD_FUNC(IntArgbPreSrcOverMaskFill),
714
ADD_FUNC(IntArgbPreToIntArgbConvert),
715
ADD_FUNC(IntArgbPreToIntArgbScaleConvert),
716
ADD_FUNC(IntArgbToIntArgbPreAlphaMaskBlit),
717
ADD_FUNC(IntArgbToIntArgbPreConvert),
718
ADD_FUNC(IntArgbToIntArgbPreScaleConvert),
719
ADD_FUNC(IntArgbToIntArgbPreSrcOverMaskBlit),
720
ADD_FUNC(IntArgbToIntArgbPreXorBlit),
721
ADD_FUNC(IntRgbToIntArgbPreAlphaMaskBlit),
722
ADD_FUNC(IntRgbToIntArgbPreConvert),
723
ADD_FUNC(IntRgbToIntArgbPreScaleConvert),
724
ADD_FUNC(ThreeByteBgrToIntArgbPreConvert),
725
ADD_FUNC(ThreeByteBgrToIntArgbPreScaleConvert),
726
ADD_FUNC(ByteIndexedBmToIntBgrScaleXparOver),
727
ADD_FUNC(ByteIndexedBmToIntBgrXparBgCopy),
728
ADD_FUNC(ByteIndexedBmToIntBgrXparOver),
729
ADD_FUNC(ByteIndexedToIntBgrConvert),
730
ADD_FUNC(ByteIndexedToIntBgrScaleConvert),
731
ADD_FUNC(IntArgbBmToIntBgrScaleXparOver),
732
ADD_FUNC(IntArgbBmToIntBgrXparBgCopy),
733
ADD_FUNC(IntArgbBmToIntBgrXparOver),
734
ADD_FUNC(IntArgbToIntBgrAlphaMaskBlit),
735
ADD_FUNC(IntArgbToIntBgrConvert),
736
ADD_FUNC(IntArgbToIntBgrScaleConvert),
737
ADD_FUNC(IntArgbToIntBgrSrcOverMaskBlit),
738
ADD_FUNC(IntArgbToIntBgrXorBlit),
739
ADD_FUNC(IntBgrAlphaMaskFill),
740
ADD_FUNC(IntBgrDrawGlyphListAA),
741
ADD_FUNC(IntBgrSrcMaskFill),
742
ADD_FUNC(IntBgrSrcOverMaskFill),
743
ADD_FUNC(IntBgrToIntArgbConvert),
744
ADD_FUNC(IntBgrToIntArgbScaleConvert),
745
ADD_FUNC(IntBgrToIntBgrAlphaMaskBlit),
746
ADD_FUNC(IntRgbToIntBgrAlphaMaskBlit),
747
ADD_FUNC(ThreeByteBgrToIntBgrConvert),
748
ADD_FUNC(ThreeByteBgrToIntBgrScaleConvert),
749
ADD_FUNC(ByteGrayToIntRgbConvert),
750
ADD_FUNC(ByteGrayToIntRgbScaleConvert),
751
ADD_FUNC(IntArgbBmToIntRgbXparBgCopy),
752
ADD_FUNC(IntArgbBmToIntRgbXparOver),
753
ADD_FUNC(IntArgbToIntRgbAlphaMaskBlit),
754
ADD_FUNC(IntArgbToIntRgbSrcOverMaskBlit),
755
ADD_FUNC(IntArgbToIntRgbXorBlit),
756
ADD_FUNC(IntRgbAlphaMaskFill),
757
ADD_FUNC(IntRgbDrawGlyphListAA),
758
ADD_FUNC(IntRgbSrcMaskFill),
759
ADD_FUNC(IntRgbSrcOverMaskFill),
760
ADD_FUNC(IntRgbToIntArgbConvert),
761
ADD_FUNC(IntRgbToIntArgbScaleConvert),
762
ADD_FUNC(IntRgbToIntRgbAlphaMaskBlit),
763
ADD_FUNC(ThreeByteBgrToIntRgbConvert),
764
ADD_FUNC(ThreeByteBgrToIntRgbScaleConvert),
765
ADD_FUNC(ByteGrayToIntRgbxConvert),
766
ADD_FUNC(ByteGrayToIntRgbxScaleConvert),
767
ADD_FUNC(ByteIndexedBmToIntRgbxScaleXparOver),
768
ADD_FUNC(ByteIndexedBmToIntRgbxXparBgCopy),
769
ADD_FUNC(ByteIndexedBmToIntRgbxXparOver),
770
ADD_FUNC(ByteIndexedToIntRgbxConvert),
771
ADD_FUNC(ByteIndexedToIntRgbxScaleConvert),
772
ADD_FUNC(IntArgbBmToIntRgbxScaleXparOver),
773
ADD_FUNC(IntArgbToIntRgbxConvert),
774
ADD_FUNC(IntArgbToIntRgbxScaleConvert),
775
ADD_FUNC(IntArgbToIntRgbxXorBlit),
776
ADD_FUNC(IntRgbxDrawGlyphListAA),
777
ADD_FUNC(IntRgbxToIntArgbConvert),
778
ADD_FUNC(IntRgbxToIntArgbScaleConvert),
779
ADD_FUNC(ThreeByteBgrToIntRgbxConvert),
780
ADD_FUNC(ThreeByteBgrToIntRgbxScaleConvert),
781
ADD_FUNC(ThreeByteBgrAlphaMaskFill),
782
ADD_FUNC(ThreeByteBgrSrcMaskFill),
783
ADD_FUNC(ThreeByteBgrSrcOverMaskFill),
784
ADD_FUNC(ThreeByteBgrToIntArgbConvert),
785
ADD_FUNC(ThreeByteBgrToIntArgbScaleConvert),
786
};
787
788
/***************************************************************/
789
790
#define NUM_VIS_FUNCS sizeof(vis_func_pair_array)/sizeof(AnyFunc_pair)
791
792
/***************************************************************/
793
794
#define HASH_SIZE 1024 /* must be power of 2 and > number of functions */
795
#define PTR_SHIFT ((sizeof(void*) == 4) ? 2 : 3)
796
#define HASH_FUNC(x) (((jint)(x) >> PTR_SHIFT) & (HASH_SIZE - 1))
797
#define NEXT_INDEX(j) ((j + 1) & (HASH_SIZE - 1))
798
799
static AnyFunc* hash_table[HASH_SIZE];
800
static AnyFunc* hash_table_vis[HASH_SIZE];
801
802
/***************************************************************/
803
804
static int initialized;
805
static int usevis = JNI_TRUE;
806
807
#if defined(__linux__) || defined(MACOSX)
808
# define ULTRA_CHIP "sparc64"
809
#else
810
# define ULTRA_CHIP "sun4u"
811
#endif
812
813
extern TransformInterpFunc *pBilinearFunc;
814
extern TransformInterpFunc *pBicubicFunc;
815
extern TransformInterpFunc vis_BilinearBlend;
816
extern TransformInterpFunc vis_BicubicBlend;
817
818
/*
819
* This function returns a pointer to the VIS accelerated version
820
* of the indicated C function if it exists and if the conditions
821
* are correct to use the VIS functions.
822
*/
823
AnyFunc* MapAccelFunction(AnyFunc *func_c)
824
{
825
jint i, j;
826
827
if (!initialized) {
828
struct utsname name;
829
830
/*
831
* Only use the vis loops if the environment variable is set.
832
* Find out the machine name. If it is an SUN ultra, we
833
* can use the vis library
834
*/
835
if (uname(&name) < 0 || strcmp(name.machine, ULTRA_CHIP) != 0) {
836
usevis = JNI_FALSE;
837
} else {
838
char *vis_env = getenv("J2D_USE_VIS_LOOPS");
839
if (vis_env != 0) {
840
switch (*vis_env) {
841
case 'T':
842
fprintf(stderr, "VIS loops enabled\n");
843
case 't':
844
usevis = JNI_TRUE;
845
break;
846
847
case 'F':
848
fprintf(stderr, "VIS loops disabled\n");
849
case 'f':
850
usevis = JNI_FALSE;
851
break;
852
853
default:
854
fprintf(stderr, "VIS loops %s by default\n",
855
usevis ? "enabled" : "disabled");
856
break;
857
}
858
}
859
}
860
initialized = 1;
861
if (usevis) {
862
/* fill hash table */
863
memset(hash_table, 0, sizeof(hash_table));
864
for (i = 0; i < NUM_VIS_FUNCS; i++) {
865
AnyFunc* func = vis_func_pair_array[i].func_c;
866
j = HASH_FUNC(func);
867
while (hash_table[j] != NULL) {
868
j = NEXT_INDEX(j);
869
}
870
hash_table[j] = func;
871
hash_table_vis[j] = vis_func_pair_array[i].func_vis;
872
}
873
pBilinearFunc = vis_BilinearBlend;
874
pBicubicFunc = vis_BicubicBlend;
875
}
876
}
877
if (!usevis) {
878
return func_c;
879
}
880
881
j = HASH_FUNC(func_c);
882
while (hash_table[j] != NULL) {
883
if (hash_table[j] == func_c) {
884
return hash_table_vis[j];
885
}
886
j = NEXT_INDEX(j);
887
}
888
889
return func_c;
890
}
891
892
/***************************************************************/
893
894