diff options
author | Eric Anholt <anholt@freebsd.org> | 2006-03-31 19:25:42 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2006-03-31 19:25:42 +0000 |
commit | f480dc797b51f080f912efc7867d6d8e50be074c (patch) | |
tree | 988262864874316112b676ae8ddb499c7021e5d1 /exa | |
parent | 1a8167c1baa767fc056d1e17d96d0ea98a5f3b17 (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.c | 2 | ||||
-rw-r--r-- | exa/exa_unaccel.c | 78 |
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); } |