mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 18:54:38 +00:00
Mon Jan 3 12:45:10 2005 Søren Sandmann <sandmann@redhat.com>
Clean-ups and support for AMD64. Bug 1067. Patch by Nicholas Miell
(nmiell@comcast.net)
Add support for AMD64
Many cleanups using <mmintrin.h> instead of __builin_ia32_*, and intrinsics
instead of inline assembly. Also unconditionally use pshufw on AMD64.
s/USE_GCC34_MMX/USE_MMX/g
This commit is contained in:
@@ -44,7 +44,7 @@ fbFill (DrawablePtr pDrawable,
|
||||
|
||||
switch (pGC->fillStyle) {
|
||||
case FillSolid:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (!pPriv->and && fbHaveMMX())
|
||||
if (fbSolidFillmmx (pDrawable, x, y, width, height, pPriv->xor))
|
||||
return;
|
||||
|
||||
668
fb/fbmmx.c
668
fb/fbmmx.c
File diff suppressed because it is too large
Load Diff
14
fb/fbmmx.h
14
fb/fbmmx.h
@@ -22,13 +22,19 @@
|
||||
*
|
||||
* Based on work by Owen Taylor
|
||||
*/
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
|
||||
#ifndef __amd64__
|
||||
Bool fbHaveMMX(void);
|
||||
#else
|
||||
#define fbHaveMMX FALSE
|
||||
#define fbHaveMMX() TRUE
|
||||
#endif
|
||||
|
||||
#ifdef USE_GCC34_MMX
|
||||
#else
|
||||
#define fbHaveMMX() FALSE
|
||||
#endif
|
||||
|
||||
#ifdef USE_MMX
|
||||
|
||||
void fbCompositeSolidMask_nx8888x0565Cmmx (CARD8 op,
|
||||
PicturePtr pSrc,
|
||||
@@ -157,4 +163,4 @@ Bool fbSolidFillmmx (DrawablePtr pDraw,
|
||||
int height,
|
||||
FbBits xor);
|
||||
|
||||
#endif /* USE_GCC34_MMX */
|
||||
#endif /* USE_MMX */
|
||||
|
||||
30
fb/fbpict.c
30
fb/fbpict.c
@@ -877,7 +877,7 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_r5g6b5:
|
||||
case PICT_b5g6r5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8x0565mmx;
|
||||
else
|
||||
@@ -892,7 +892,7 @@ fbComposite (CARD8 op,
|
||||
case PICT_x8r8g8b8:
|
||||
case PICT_a8b8g8r8:
|
||||
case PICT_x8b8g8r8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8x8888mmx;
|
||||
else
|
||||
@@ -906,7 +906,7 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_a8r8g8b8:
|
||||
case PICT_x8r8g8b8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8888x8888Cmmx;
|
||||
else
|
||||
@@ -914,7 +914,7 @@ fbComposite (CARD8 op,
|
||||
func = fbCompositeSolidMask_nx8888x8888C;
|
||||
break;
|
||||
case PICT_r5g6b5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8888x0565Cmmx;
|
||||
else
|
||||
@@ -929,7 +929,7 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_a8b8g8r8:
|
||||
case PICT_x8b8g8r8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8888x8888Cmmx;
|
||||
else
|
||||
@@ -937,7 +937,7 @@ fbComposite (CARD8 op,
|
||||
func = fbCompositeSolidMask_nx8888x8888C;
|
||||
break;
|
||||
case PICT_b5g6r5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSolidMask_nx8888x0565Cmmx;
|
||||
else
|
||||
@@ -978,13 +978,13 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_a8r8g8b8:
|
||||
case PICT_x8r8g8b8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrc_8888RevNPx8888mmx;
|
||||
#endif
|
||||
break;
|
||||
case PICT_r5g6b5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrc_8888RevNPx0565mmx;
|
||||
#endif
|
||||
@@ -1000,13 +1000,13 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_a8b8g8r8:
|
||||
case PICT_x8b8g8r8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrc_8888RevNPx8888mmx;
|
||||
#endif
|
||||
break;
|
||||
case PICT_r5g6b5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrc_8888RevNPx0565mmx;
|
||||
#endif
|
||||
@@ -1032,7 +1032,7 @@ fbComposite (CARD8 op,
|
||||
switch (pDst->format) {
|
||||
case PICT_a8r8g8b8:
|
||||
case PICT_x8r8g8b8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
{
|
||||
srcRepeat = FALSE;
|
||||
@@ -1041,7 +1041,7 @@ fbComposite (CARD8 op,
|
||||
#endif
|
||||
break;
|
||||
case PICT_r5g6b5:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
{
|
||||
srcRepeat = FALSE;
|
||||
@@ -1109,7 +1109,7 @@ fbComposite (CARD8 op,
|
||||
case PICT_a8r8g8b8:
|
||||
switch (pDst->format) {
|
||||
case PICT_a8r8g8b8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrcAdd_8888x8888mmx;
|
||||
else
|
||||
@@ -1121,7 +1121,7 @@ fbComposite (CARD8 op,
|
||||
case PICT_a8b8g8r8:
|
||||
switch (pDst->format) {
|
||||
case PICT_a8b8g8r8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrcAdd_8888x8888mmx;
|
||||
else
|
||||
@@ -1133,7 +1133,7 @@ fbComposite (CARD8 op,
|
||||
case PICT_a8:
|
||||
switch (pDst->format) {
|
||||
case PICT_a8:
|
||||
#ifdef USE_GCC34_MMX
|
||||
#ifdef USE_MMX
|
||||
if (fbHaveMMX())
|
||||
func = fbCompositeSrcAdd_8000x8000mmx;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user