summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
Diffstat (limited to 'exa')
-rw-r--r--exa/exa.c21
-rw-r--r--exa/exa_priv.h2
-rw-r--r--exa/exa_unaccel.c30
3 files changed, 4 insertions, 49 deletions
diff --git a/exa/exa.c b/exa/exa.c
index f83fdf58e..98e275daa 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -339,30 +339,15 @@ exaFinishAccess(DrawablePtr pDrawable, int index)
}
/**
- * exaValidateGC() chooses between the accelerated and unaccelerated GC Ops
- * vectors.
- *
- * The unaccelerated (exaAsyncPixmapGCOps) vector is chosen if the drawable is
- * offscreen. This means that operations that affect only that drawable will
- * not result in migration of the pixmap. However, exaAsyncPixmapGCOps does use
- * the accelerated operations for the Copy* functions, because the other
- * drawable involved might be in framebuffer and require synchronization before
- * accessing it. This means that for the Copy* functions, even using
- * exaAsyncPixmapGCOps may result in migration, and therefore acceleration.
- *
- * Because of how nonintuitive exaAsyncPixmapGCOps is, and the fact that its
- * only use is for dubious performance reasons (and probably just historical
- * reasons), it is likely to go away in the future.
+ * exaValidateGC() sets the ops to EXA's implementations, which may be
+ * accelerated or may sync the card and
*/
static void
exaValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
{
fbValidateGC (pGC, changes, pDrawable);
- if (exaDrawableIsOffscreen (pDrawable))
- pGC->ops = (GCOps *) &exaOps;
- else
- pGC->ops = (GCOps *) &exaAsyncPixmapGCOps;
+ pGC->ops = (GCOps *) &exaOps;
}
static GCFuncs exaGCFuncs = {
diff --git a/exa/exa_priv.h b/exa/exa_priv.h
index 8a1b27710..0a94cfe73 100644
--- a/exa/exa_priv.h
+++ b/exa/exa_priv.h
@@ -301,7 +301,7 @@ void
exaGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt, int *pwidth,
int nspans, char *pdstStart);
-extern const GCOps exaOps, exaAsyncPixmapGCOps;
+extern const GCOps exaOps;
#ifdef RENDER
void
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index 1ffecb811..a6e0c482a 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -362,33 +362,3 @@ exaGetPixmapFirstPixel (PixmapPtr pPixmap)
return pixel;
}
-
-/*
- * Only need to stall for CopyArea/CopyPlane, but we want to have the chance to
- * do migration for CopyArea.
- */
-const GCOps exaAsyncPixmapGCOps = {
- ExaCheckFillSpans,
- ExaCheckSetSpans,
- ExaCheckPutImage,
- exaCopyArea,
- ExaCheckCopyPlane,
- ExaCheckPolyPoint,
- ExaCheckPolylines,
- ExaCheckPolySegment,
- ExaCheckPolyRectangle,
- ExaCheckPolyArc,
- ExaCheckFillPolygon,
- ExaCheckPolyFillRect,
- ExaCheckPolyFillArc,
- miPolyText8,
- miPolyText16,
- miImageText8,
- miImageText16,
- ExaCheckImageGlyphBlt,
- ExaCheckPolyGlyphBlt,
- ExaCheckPushPixels
-#ifdef NEED_LINEHELPER
- ,NULL
-#endif
-};