summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2006-03-31 19:25:42 +0000
committerEric Anholt <anholt@freebsd.org>2006-03-31 19:25:42 +0000
commitf480dc797b51f080f912efc7867d6d8e50be074c (patch)
tree988262864874316112b676ae8ddb499c7021e5d1 /exa
parent1a8167c1baa767fc056d1e17d96d0ea98a5f3b17 (diff)
Revert mistaken commit to exa_unaccel.c. Should have been to
exa_offscreen.c: Correct a typo in debug-only offscreen validation code. (Wang Zhenyu)
Diffstat (limited to 'exa')
-rw-r--r--exa/exa_offscreen.c2
-rw-r--r--exa/exa_unaccel.c78
2 files changed, 37 insertions, 43 deletions
diff --git a/exa/exa_offscreen.c b/exa/exa_offscreen.c
index 861093381..b55802e1e 100644
--- a/exa/exa_offscreen.c
+++ b/exa/exa_offscreen.c
@@ -52,7 +52,7 @@ ExaOffscreenValidate (ScreenPtr pScreen)
for (area = pExaScr->info->offScreenAreas; area; area = area->next)
{
assert (area->offset >= area->base_offset &&
- area->offset < (area->base_offset -> area->size));
+ area->offset < (area->base_offset + area->size));
if (prev)
assert (prev->base_offset + prev->area.size == area->base_offset);
prev = area;
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
index bfd0007bb..a6e0c482a 100644
--- a/exa/exa_unaccel.c
+++ b/exa/exa_unaccel.c
@@ -29,39 +29,13 @@
* the accelerator is idle
*/
-/**
- * Calls exaPrepareAccess with EXA_PREPARE_SRC for the tile, if that is the
- * current fill style.
- *
- * Solid doesn't use an extra pixmap source, and Stippled/OpaqueStippled are
- * 1bpp and never in fb, so we don't worry about them.
- */
-static void
-exaPrepareAccessGC(GCPtr pGC)
-{
- if (pGC->fillStyle == FillTiled)
- exaPrepareAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
-}
-
-/**
- * Finishes access to the tile in the GC, if used.
- */
-static void
-exaFinishAccessGC(GCPtr pGC)
-{
- if (pGC->fillStyle == FillTiled)
- exaFinishAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
-}
-
void
ExaCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans,
DDXPointPtr ppt, int *pwidth, int fSorted)
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbFillSpans (pDrawable, pGC, nspans, ppt, pwidth, fSorted);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
}
@@ -138,13 +112,10 @@ ExaCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
if (pGC->lineWidth == 0) {
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPolyLine (pDrawable, pGC, mode, npt, ppt);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
return;
}
- /* fb calls mi functions in the lineWidth != 0 case. */
fbPolyLine (pDrawable, pGC, mode, npt, ppt);
}
@@ -155,17 +126,28 @@ ExaCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
if (pGC->lineWidth == 0) {
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPolySegment (pDrawable, pGC, nsegInit, pSegInit);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
return;
}
- /* fb calls mi functions in the lineWidth != 0 case. */
fbPolySegment (pDrawable, pGC, nsegInit, pSegInit);
}
void
+ExaCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC,
+ int nrects, xRectangle *prect)
+{
+ EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
+ if (pGC->lineWidth == 0) {
+ exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+ fbPolyRectangle (pDrawable, pGC, nrects, prect);
+ exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
+ return;
+ }
+ fbPolyRectangle (pDrawable, pGC, nrects, prect);
+}
+
+void
ExaCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,
int narcs, xArc *pArcs)
{
@@ -173,24 +155,42 @@ ExaCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,
if (pGC->lineWidth == 0)
{
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPolyArc (pDrawable, pGC, narcs, pArcs);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
return;
}
miPolyArc (pDrawable, pGC, narcs, pArcs);
}
+#if 0
+void
+ExaCheckFillPolygon (DrawablePtr pDrawable, GCPtr pGC,
+ int shape, int mode, int count, DDXPointPtr pPts)
+{
+ EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
+ exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+ fbFillPolygon (pDrawable, pGC, mode, count, pPts);
+ exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
+}
+#endif
+
void
ExaCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC,
int nrect, xRectangle *prect)
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPolyFillRect (pDrawable, pGC, nrect, prect);
- exaFinishAccessGC (pGC);
+ exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
+}
+
+void
+ExaCheckPolyFillArc (DrawablePtr pDrawable, GCPtr pGC,
+ int narcs, xArc *pArcs)
+{
+ EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
+ exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
+ fbPolyFillArc (pDrawable, pGC, narcs, pArcs);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
}
@@ -201,9 +201,7 @@ ExaCheckImageGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbImageGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
}
@@ -214,9 +212,7 @@ ExaCheckPolyGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPolyGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
}
@@ -227,9 +223,7 @@ ExaCheckPushPixels (GCPtr pGC, PixmapPtr pBitmap,
{
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pBitmap, (long)pDrawable));
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
- exaPrepareAccessGC (pGC);
fbPushPixels (pGC, pBitmap, pDrawable, w, h, x, y);
- exaFinishAccessGC (pGC);
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
}