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