2
* Copyright © 2004 Red Hat, Inc.
3
* Copyright © 2005 Trolltech AS
5
* Permission to use, copy, modify, distribute, and sell this software and its
6
* documentation for any purpose is hereby granted without fee, provided that
7
* the above copyright notice appear in all copies and that both that
8
* copyright notice and this permission notice appear in supporting
9
* documentation, and that the name of Red Hat not be used in advertising or
10
* publicity pertaining to distribution of the software without specific,
11
* written prior permission. Red Hat makes no representations about the
12
* suitability of this software for any purpose. It is provided "as is"
13
* without express or implied warranty.
15
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
16
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
17
* FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
* SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
20
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
21
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
24
* Author: Søren Sandmann (sandmann@redhat.com)
25
* Lars Knoll (lars@trolltech.com)
27
* Based on work by Owen Taylor
29
#ifndef _PIXMAN_MMX_H_
30
#define _PIXMAN_MMX_H_
32
#ifdef HAVE_DIX_CONFIG_H
33
#include <dix-config.h>
36
#include "pixman-private.h"
40
#if !defined(__amd64__) && !defined(__x86_64__)
41
pixman_bool_t pixman_have_mmx(void);
43
#define pixman_have_mmx() TRUE
47
#define pixman_have_mmx() FALSE
53
pixman_blt_mmx (uint32_t *src_bits,
61
int width, int height);
63
pixman_fill_mmx (uint32_t *bits,
72
void fbComposeSetupMMX(void);
74
void fbCompositeSolidMask_nx8888x0565Cmmx (pixman_op_t op,
75
pixman_image_t * pSrc,
76
pixman_image_t * pMask,
77
pixman_image_t * pDst,
86
void fbCompositeSrcAdd_8888x8888mmx (pixman_op_t op,
87
pixman_image_t * pSrc,
88
pixman_image_t * pMask,
89
pixman_image_t * pDst,
98
void fbCompositeSrc_8888x8888mmx (pixman_op_t op,
99
pixman_image_t * pSrc,
100
pixman_image_t * pMask,
101
pixman_image_t * pDst,
111
fbCompositeSolidMaskSrc_nx8x8888mmx (pixman_op_t op,
112
pixman_image_t * pSrc,
113
pixman_image_t * pMask,
114
pixman_image_t * pDst,
124
fbCompositeSrc_x888xnx8888mmx (pixman_op_t op,
125
pixman_image_t * pSrc,
126
pixman_image_t * pMask,
127
pixman_image_t * pDst,
136
void fbCompositeSolidMask_nx8888x8888Cmmx (pixman_op_t op,
137
pixman_image_t * pSrc,
138
pixman_image_t * pMask,
139
pixman_image_t * pDst,
148
void fbCompositeSolidMask_nx8x8888mmx (pixman_op_t op,
149
pixman_image_t * pSrc,
150
pixman_image_t * pMask,
151
pixman_image_t * pDst,
160
void fbCompositeIn_nx8x8mmx (pixman_op_t op,
161
pixman_image_t * pSrc,
162
pixman_image_t * pMask,
163
pixman_image_t * pDst,
172
void fbCompositeIn_8x8mmx (pixman_op_t op,
173
pixman_image_t * pSrc,
174
pixman_image_t * pMask,
175
pixman_image_t * pDst,
184
void fbCompositeSrcAdd_8888x8x8mmx (pixman_op_t op,
185
pixman_image_t * pSrc,
186
pixman_image_t * pMask,
187
pixman_image_t * pDst,
196
void fbCompositeSrcAdd_8000x8000mmx (pixman_op_t op,
197
pixman_image_t * pSrc,
198
pixman_image_t * pMask,
199
pixman_image_t * pDst,
208
void fbCompositeSrc_8888RevNPx8888mmx (pixman_op_t op,
209
pixman_image_t * pSrc,
210
pixman_image_t * pMask,
211
pixman_image_t * pDst,
220
void fbCompositeSrc_8888x0565mmx (pixman_op_t op,
221
pixman_image_t * pSrc,
222
pixman_image_t * pMask,
223
pixman_image_t * pDst,
232
void fbCompositeSrc_8888RevNPx0565mmx (pixman_op_t op,
233
pixman_image_t * pSrc,
234
pixman_image_t * pMask,
235
pixman_image_t * pDst,
244
void fbCompositeSolid_nx8888mmx (pixman_op_t op,
245
pixman_image_t * pSrc,
246
pixman_image_t * pMask,
247
pixman_image_t * pDst,
256
void fbCompositeSolid_nx0565mmx (pixman_op_t op,
257
pixman_image_t * pSrc,
258
pixman_image_t * pMask,
259
pixman_image_t * pDst,
268
void fbCompositeSolidMask_nx8x0565mmx (pixman_op_t op,
269
pixman_image_t * pSrc,
270
pixman_image_t * pMask,
271
pixman_image_t * pDst,
280
void fbCompositeSrc_8888x8x8888mmx (pixman_op_t op,
281
pixman_image_t * pSrc,
282
pixman_image_t * pMask,
283
pixman_image_t * pDst,
292
void fbCompositeCopyAreammx (pixman_op_t op,
293
pixman_image_t * pSrc,
294
pixman_image_t * pMask,
295
pixman_image_t * pDst,
305
fbCompositeOver_x888x8x8888mmx (pixman_op_t op,
306
pixman_image_t * pSrc,
307
pixman_image_t * pMask,
308
pixman_image_t * pDst,
320
#endif /* _PIXMAN_MMX_H_ */