diff options
author | Søren Sandmann Pedersen <sandmann@redhat.com> | 2007-06-11 15:19:27 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@redhat.com> | 2007-06-11 15:19:27 -0400 |
commit | 3f9adb18f127318d054f30a57e3a77176e14c692 (patch) | |
tree | ce334974a30347e50a56f653ec2011d2f764b72a | |
parent | d06099b38e8445e6e31f5178ffefcc31a71080ef (diff) |
Port a few forgotten fbSolidFillmmx()'es to fbFillmmx(). Use pixman_blt() instead of fbBltmmx()
in fbCopyNToN().
-rw-r--r-- | fb/fbcopy.c | 20 | ||||
-rw-r--r-- | fb/fbfill.c | 14 | ||||
-rw-r--r-- | fb/fbwindow.c | 27 |
3 files changed, 31 insertions, 30 deletions
diff --git a/fb/fbcopy.c b/fb/fbcopy.c index 74ff35848..a4302037a 100644 --- a/fb/fbcopy.c +++ b/fb/fbcopy.c @@ -60,17 +60,17 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, while (nbox--) { -#ifdef USE_MMX +#ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ if (pm == FB_ALLONES && alu == GXcopy && !reverse && - !upsidedown && fbHaveMMX()) + !upsidedown) { - if (!fbBltmmx (src, dst, srcStride, dstStride, srcBpp, dstBpp, - (pbox->x1 + dx + srcXoff), - (pbox->y1 + dy + srcYoff), - (pbox->x1 + srcXoff), - (pbox->y1 + srcYoff), - (pbox->x2 - pbox->x1), - (pbox->y2 - pbox->y1))) + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (pbox->x1 + dx + srcXoff), + (pbox->y1 + dy + srcYoff), + (pbox->x1 + srcXoff), + (pbox->y1 + srcYoff), + (pbox->x2 - pbox->x1), + (pbox->y2 - pbox->y1))) goto fallback; else goto next; @@ -94,7 +94,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, reverse, upsidedown); -#ifdef USE_MMX +#ifndef FB_ACCESS_WRAPPER next: #endif pbox++; diff --git a/fb/fbfill.c b/fb/fbfill.c index 35e4427c6..4f13a023a 100644 --- a/fb/fbfill.c +++ b/fb/fbfill.c @@ -221,13 +221,13 @@ fbSolidBoxClipped (DrawablePtr pDrawable, #ifdef USE_MMX if (!and && fbHaveMMX()) { - if (fbSolidFillmmx (pDrawable, - partX1, partY1, - (partX2 - partX1), (partY2 - partY1), - xor)) { - fbFinishAccess (pDrawable); - return; - } + if (fbFillmmx (dst, dstStride, dstBpp, + partX1 + dstXoff, partX2 + dstYoff, (partX2 - partX1), (partY2 - partY1), + xor)) + { + fbFinishAccess (pDrawable); + return; + } } #endif fbSolid (dst + (partY1 + dstYoff) * dstStride, diff --git a/fb/fbwindow.c b/fb/fbwindow.c index cac662cc7..5b3f446b1 100644 --- a/fb/fbwindow.c +++ b/fb/fbwindow.c @@ -233,26 +233,27 @@ fbFillRegionSolid (DrawablePtr pDrawable, while (n--) { #ifdef USE_MMX - if (!has_mmx || !fbSolidFillmmx (pDrawable, - pbox->x1, - pbox->y1, - (pbox->x2 - pbox->x1), - (pbox->y2 - pbox->y1), xor)) { + if (!has_mmx || !fbFillmmx (dst, dstStride, dstBpp, + pbox->x1 + dstXoff, pbox->y1 + dstYoff, + (pbox->x2 - pbox->x1), + (pbox->y2 - pbox->y1), + xor)) + { #endif - fbSolid (dst + (pbox->y1 + dstYoff) * dstStride, - dstStride, - (pbox->x1 + dstXoff) * dstBpp, - dstBpp, - (pbox->x2 - pbox->x1) * dstBpp, - pbox->y2 - pbox->y1, - and, xor); + fbSolid (dst + (pbox->y1 + dstYoff) * dstStride, + dstStride, + (pbox->x1 + dstXoff) * dstBpp, + dstBpp, + (pbox->x2 - pbox->x1) * dstBpp, + pbox->y2 - pbox->y1, + and, xor); #ifdef USE_MMX } #endif fbValidateDrawable (pDrawable); pbox++; } - + fbFinishAccess (pDrawable); } |