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