[PATCH 10/10] XXX fb: Buzzsaw off some pixman fastpaths

Adam Jackson ajax at redhat.com
Mon Mar 10 08:04:34 PDT 2014


This is all of the pixman draw calls in core rendering, afaict, and it
appears to make xlogo look right, which is enough for me to start
trusting x11perf.

However in light testing this does not appear to be any faster than
FB_SHIFT == 5, in fact uniformly slower.  I'm not sure yet whether
that's because the stock server I'm testing against still retains the
pixman fast paths.  At any rate, something to investigate later.

Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 fb/fbcopy.c   | 4 ++--
 fb/fbfill.c   | 4 ++--
 fb/fbwindow.c | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fb/fbcopy.c b/fb/fbcopy.c
index 541ef71..6da254a 100644
--- a/fb/fbcopy.c
+++ b/fb/fbcopy.c
@@ -52,7 +52,7 @@ fbCopyNtoN(DrawablePtr pSrcDrawable,
     fbGetDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff);
 
     while (nbox--) {
-#ifndef FB_ACCESS_WRAPPER       /* pixman_blt() doesn't support accessors yet */
+#if 0
         if (pm == FB_ALLONES && alu == GXcopy && !reverse && !upsidedown) {
             if (!pixman_blt
                 ((uint32_t *) src, (uint32_t *) dst, srcStride, dstStride,
@@ -74,7 +74,7 @@ fbCopyNtoN(DrawablePtr pSrcDrawable,
               (pbox->x1 + dstXoff) * dstBpp,
               (pbox->x2 - pbox->x1) * dstBpp,
               (pbox->y2 - pbox->y1), alu, pm, dstBpp, reverse, upsidedown);
-#ifndef FB_ACCESS_WRAPPER
+#if 0
  next:
 #endif
         pbox++;
diff --git a/fb/fbfill.c b/fb/fbfill.c
index de9d6b3..058292d 100644
--- a/fb/fbfill.c
+++ b/fb/fbfill.c
@@ -39,7 +39,7 @@ fbFill(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height)
 
     switch (pGC->fillStyle) {
     case FillSolid:
-#ifndef FB_ACCESS_WRAPPER
+#if 0
         if (pPriv->and || !pixman_fill((uint32_t *) dst, dstStride, dstBpp,
                                        x + dstXoff, y + dstYoff,
                                        width, height, pPriv->xor))
@@ -177,7 +177,7 @@ fbSolidBoxClipped(DrawablePtr pDrawable,
         if (partY2 <= partY1)
             continue;
 
-#ifndef FB_ACCESS_WRAPPER
+#if 0
         if (and || !pixman_fill((uint32_t *) dst, dstStride, dstBpp,
                                 partX1 + dstXoff, partY1 + dstYoff,
                                 (partX2 - partX1), (partY2 - partY1), xor))
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index 368c4b8..9dc068c 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -182,7 +182,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
     fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff);
 
     while (n--) {
-#ifndef FB_ACCESS_WRAPPER
+#if 0
         if (!try_mmx || !pixman_fill((uint32_t *) dst, dstStride, dstBpp,
                                      pbox->x1 + dstXoff, pbox->y1 + dstYoff,
                                      (pbox->x2 - pbox->x1),
@@ -194,7 +194,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
                     dstBpp,
                     (pbox->x2 - pbox->x1) * dstBpp,
                     pbox->y2 - pbox->y1, and, xor);
-#ifndef FB_ACCESS_WRAPPER
+#if 0
         }
 #endif
         fbValidateDrawable(pDrawable);
-- 
1.8.5.3



More information about the xorg-devel mailing list