Back to index

lightning-sunbird  0.9+nobinonly
fbmmx.h
Go to the documentation of this file.
00001 /*
00002  * Copyright © 2004 Red Hat, Inc.
00003  * Copyright © 2005 Trolltech AS
00004  *
00005  * Permission to use, copy, modify, distribute, and sell this software and its
00006  * documentation for any purpose is hereby granted without fee, provided that
00007  * the above copyright notice appear in all copies and that both that
00008  * copyright notice and this permission notice appear in supporting
00009  * documentation, and that the name of Red Hat not be used in advertising or
00010  * publicity pertaining to distribution of the software without specific,
00011  * written prior permission.  Red Hat makes no representations about the
00012  * suitability of this software for any purpose.  It is provided "as is"
00013  * without express or implied warranty.
00014  *
00015  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
00016  * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
00017  * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
00018  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00019  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
00020  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
00021  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
00022  * SOFTWARE.
00023  *
00024  * Author:  Søren Sandmann (sandmann@redhat.com)
00025  *          Lars Knoll (lars@trolltech.com)
00026  * 
00027  * Based on work by Owen Taylor
00028  */
00029 #ifdef USE_MMX
00030 
00031 #if !defined(__amd64__) && !defined(__x86_64__)
00032 Bool fbHaveMMX(void);
00033 #else
00034 #define fbHaveMMX() TRUE
00035 #endif
00036 
00037 #else
00038 #define fbHaveMMX() FALSE
00039 #endif
00040 
00041 #ifdef USE_MMX
00042 
00043 void fbComposeSetupMMX(void);
00044 
00045 void fbCompositeSolidMask_nx8888x0565Cmmx (pixman_operator_t      op,
00046                                       PicturePtr pSrc,
00047                                       PicturePtr pMask,
00048                                       PicturePtr pDst,
00049                                       INT16      xSrc,
00050                                       INT16      ySrc,
00051                                       INT16      xMask,
00052                                       INT16      yMask,
00053                                       INT16      xDst,
00054                                       INT16      yDst,
00055                                       CARD16     width,
00056                                       CARD16     height);
00057 void fbCompositeSrcAdd_8888x8888mmx (pixman_operator_t  op,
00058                                  PicturePtr      pSrc,
00059                                  PicturePtr      pMask,
00060                                  PicturePtr      pDst,
00061                                  INT16    xSrc,
00062                                  INT16      ySrc,
00063                                  INT16      xMask,
00064                                  INT16      yMask,
00065                                  INT16      xDst,
00066                                  INT16      yDst,
00067                                  CARD16     width,
00068                                  CARD16     height);
00069 void fbCompositeSolidMask_nx8888x8888Cmmx (pixman_operator_t   op,
00070                                       PicturePtr pSrc,
00071                                       PicturePtr pMask,
00072                                       PicturePtr pDst,
00073                                       INT16      xSrc,
00074                                       INT16      ySrc,
00075                                       INT16      xMask,
00076                                       INT16      yMask,
00077                                       INT16      xDst,
00078                                       INT16      yDst,
00079                                       CARD16     width,
00080                                       CARD16     height);
00081 void fbCompositeSolidMask_nx8x8888mmx (pixman_operator_t      op,
00082                                    PicturePtr pSrc,
00083                                    PicturePtr pMask,
00084                                    PicturePtr pDst,
00085                                    INT16      xSrc,
00086                                    INT16      ySrc,
00087                                    INT16      xMask,
00088                                    INT16      yMask,
00089                                    INT16      xDst,
00090                                    INT16      yDst,
00091                                    CARD16     width,
00092                                    CARD16     height);
00093 void fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_operator_t      op,
00094                                      PicturePtr pSrc,
00095                                      PicturePtr pMask,
00096                                      PicturePtr pDst,
00097                                      INT16      xSrc,
00098                                      INT16      ySrc,
00099                                      INT16      xMask,
00100                                      INT16      yMask,
00101                                      INT16      xDst,
00102                                      INT16      yDst,
00103                                      CARD16     width,
00104                                      CARD16     height);
00105 void fbCompositeSrcAdd_8000x8000mmx (pixman_operator_t  op,
00106                                  PicturePtr pSrc,
00107                                  PicturePtr pMask,
00108                                  PicturePtr pDst,
00109                                  INT16      xSrc,
00110                                  INT16      ySrc,
00111                                  INT16      xMask,
00112                                  INT16      yMask,
00113                                  INT16      xDst,
00114                                  INT16      yDst,
00115                                  CARD16     width,
00116                                  CARD16     height);
00117 void fbCompositeSrc_8888RevNPx8888mmx (pixman_operator_t      op,
00118                                    PicturePtr pSrc,
00119                                    PicturePtr pMask,
00120                                    PicturePtr pDst,
00121                                    INT16      xSrc,
00122                                    INT16      ySrc,
00123                                    INT16      xMask,
00124                                    INT16      yMask,
00125                                    INT16      xDst,
00126                                    INT16      yDst,
00127                                    CARD16     width,
00128                                    CARD16     height);
00129 void fbCompositeSrc_8888RevNPx0565mmx (pixman_operator_t      op,
00130                                    PicturePtr pSrc,
00131                                    PicturePtr pMask,
00132                                    PicturePtr pDst,
00133                                    INT16      xSrc,
00134                                    INT16      ySrc,
00135                                    INT16      xMask,
00136                                    INT16      yMask,
00137                                    INT16      xDst,
00138                                    INT16      yDst,
00139                                    CARD16     width,
00140                                    CARD16     height);
00141 void fbCompositeSolid_nx8888mmx (pixman_operator_t             op,
00142                              PicturePtr   pSrc,
00143                              PicturePtr   pMask,
00144                              PicturePtr   pDst,
00145                              INT16        xSrc,
00146                              INT16        ySrc,
00147                              INT16        xMask,
00148                              INT16        yMask,
00149                              INT16        xDst,
00150                              INT16        yDst,
00151                              CARD16              width,
00152                              CARD16              height);
00153 void fbCompositeSolid_nx0565mmx (pixman_operator_t             op,
00154                              PicturePtr   pSrc,
00155                              PicturePtr   pMask,
00156                              PicturePtr   pDst,
00157                              INT16        xSrc,
00158                              INT16        ySrc,
00159                              INT16        xMask,
00160                              INT16        yMask,
00161                              INT16        xDst,
00162                              INT16        yDst,
00163                              CARD16              width,
00164                              CARD16              height);
00165 void fbCompositeSolidMask_nx8x0565mmx (pixman_operator_t      op,
00166                                    PicturePtr pSrc,
00167                                    PicturePtr pMask,
00168                                    PicturePtr pDst,
00169                                    INT16      xSrc,
00170                                    INT16      ySrc,
00171                                    INT16      xMask,
00172                                    INT16      yMask,
00173                                    INT16      xDst,
00174                                    INT16      yDst,
00175                                    CARD16     width,
00176                                    CARD16     height);
00177 void fbCompositeSrc_x888x8x8888mmx (pixman_operator_t   op,
00178                                 PicturePtr  pSrc,
00179                                 PicturePtr  pMask,
00180                                 PicturePtr  pDst,
00181                                 INT16     xSrc,
00182                                 INT16     ySrc,
00183                                 INT16       xMask,
00184                                 INT16       yMask,
00185                                 INT16       xDst,
00186                                 INT16       yDst,
00187                                 CARD16      width,
00188                                 CARD16      height);
00189 void fbCompositeSrc_8888x8x8888mmx (pixman_operator_t   op,
00190                                 PicturePtr  pSrc,
00191                                 PicturePtr  pMask,
00192                                 PicturePtr  pDst,
00193                                 INT16     xSrc,
00194                                 INT16     ySrc,
00195                                 INT16       xMask,
00196                                 INT16       yMask,
00197                                 INT16       xDst,
00198                                 INT16       yDst,
00199                                 CARD16      width,
00200                                 CARD16      height);
00201 void fbCompositeSrc_8888x8888mmx (pixman_operator_t      op,
00202                               PicturePtr pSrc,
00203                               PicturePtr pMask,
00204                               PicturePtr pDst,
00205                               INT16      xSrc,
00206                               INT16      ySrc,
00207                               INT16      xMask,
00208                               INT16      yMask,
00209                               INT16      xDst,
00210                               INT16      yDst,
00211                               CARD16     width,
00212                               CARD16     height);
00213 Bool fbCopyAreammx (FbPixels       *pSrc,
00214                   FbPixels  *pDst,
00215                   int              src_x,
00216                   int              src_y,
00217                   int              dst_x,
00218                   int              dst_y,
00219                   int              width,
00220                   int              height);
00221 void fbCompositeCopyAreammx (pixman_operator_t   op,
00222                           PicturePtr      pSrc,
00223                           PicturePtr      pMask,
00224                           PicturePtr      pDst,
00225                           INT16    xSrc,
00226                           INT16      ySrc,
00227                           INT16      xMask,
00228                           INT16      yMask,
00229                           INT16      xDst,
00230                           INT16      yDst,
00231                           CARD16     width,
00232                           CARD16     height);
00233 Bool fbSolidFillmmx (FbPixels      *pDraw,
00234                    int             x,
00235                    int             y,
00236                    int             width,
00237                    int             height,
00238                    FbBits          xor);
00239 
00240 #endif /* USE_MMX */