From 306ac1db85c30a796c9a69c639e7f2e4efd98d50 Mon Sep 17 00:00:00 2001 From: David Dawes Date: Fri, 21 Jan 2000 01:12:02 +0000 Subject: 3554. Fix "controlization" in XLookupString for chars > 127 (#3569, Ivan Pascal). 3553. Take advantage of FB speedups in Tiny-X (#3568, Keith Packard). 3552. Speed up FB and do 32bit accesses instead of 64bit accesses (#3567, Keith Packard). 3551. Eliminate saving the contents of the screen durint VT switching (#3562, Keith Packard). 3550. Make using fb easier for driver writers (#3561, Keith Packard). 3549. Fix TCP font server connections (#3560, Keith Packard). 3548. Implement the "OverclockMem" option for the Millennium and Millennium II (#3558, Andrew Aitchison). 3547. Speed up some FB performance problems (#3557, 3559, 3560, Keith Packard). 3546. Work around a bad code generation bug in gcc 2.7.2.3 that shows up in XAA (#3550, Rik Faith). 3545. Add a -brief option to xclock to show only hours and minutes when in digital mode (#3549, Keith Packard). 3544. Fix some dead key problems with xkb symbols for Swiss French and Swiss German keyboards (#3546, Charles Lopes). --- hw/kdrive/savage/s3gc.c | 20 ++++++++++---------- hw/kdrive/src/kasync.c | 19 +++++-------------- hw/kdrive/src/kdrive.h | 11 ++++++++--- hw/kdrive/trident/trident.c | 4 +++- 4 files changed, 26 insertions(+), 28 deletions(-) (limited to 'hw') diff --git a/hw/kdrive/savage/s3gc.c b/hw/kdrive/savage/s3gc.c index d62db68ae..acc4c9909 100644 --- a/hw/kdrive/savage/s3gc.c +++ b/hw/kdrive/savage/s3gc.c @@ -22,7 +22,7 @@ * * Author: Keith Packard, SuSE, Inc. */ -/* $XFree86: xc/programs/Xserver/hw/kdrive/savage/s3gc.c,v 1.1 1999/11/19 13:53:56 hohndel Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/kdrive/savage/s3gc.c,v 1.2 1999/12/30 03:03:12 robin Exp $ */ #include "s3.h" #include "s3draw.h" @@ -57,7 +57,7 @@ static const GCOps s3TEOps1Rect = { KdCheckPolyPoint, s3Polylines, s3PolySegment, - miPolyRectangle, + KdCheckPolyRectangle, KdCheckPolyArc, s3FillPoly1Rect, s3PolyFillRect, @@ -86,7 +86,7 @@ static const GCOps s3NonTEOps1Rect = { KdCheckPolyPoint, s3Polylines, s3PolySegment, - miPolyRectangle, + KdCheckPolyRectangle, KdCheckPolyArc, s3FillPoly1Rect, s3PolyFillRect, @@ -113,9 +113,9 @@ static const GCOps s3TEOps = { KdCheckPolyPoint, s3Polylines, s3PolySegment, - miPolyRectangle, + KdCheckPolyRectangle, KdCheckPolyArc, - miFillPolygon, + KdCheckFillPolygon, s3PolyFillRect, s3PolyFillArcSolid, miPolyText8, @@ -140,9 +140,9 @@ static const GCOps s3NonTEOps = { KdCheckPolyPoint, s3Polylines, s3PolySegment, - miPolyRectangle, + KdCheckPolyRectangle, KdCheckPolyArc, - miFillPolygon, + KdCheckFillPolygon, s3PolyFillRect, s3PolyFillArcSolid, miPolyText8, @@ -321,7 +321,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) if (new_type || (changes & (GCLineStyle|GCLineWidth|GCFillStyle))) { pGC->ops->Polylines = KdCheckPolylines; - pGC->ops->PolySegment = miPolySegment; + pGC->ops->PolySegment = KdCheckPolySegment; if (pGC->lineStyle == LineSolid && pGC->lineWidth == 0 && pGC->fillStyle == FillSolid && @@ -337,7 +337,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) */ if (new_type || new_onerect || (changes & (GCFillStyle))) { - pGC->ops->FillPolygon = miFillPolygon; + pGC->ops->FillPolygon = KdCheckFillPolygon; if (s3Priv->type == DRAWABLE_WINDOW && fbPriv->oneRect && pGC->fillStyle == FillSolid) @@ -351,7 +351,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) */ if (new_type || (changes & GCFillStyle)) { - pGC->ops->PolyFillArc = miPolyFillArc; + pGC->ops->PolyFillArc = KdCheckPolyFillArc; if (s3Priv->type == DRAWABLE_WINDOW && pGC->fillStyle == FillSolid) { diff --git a/hw/kdrive/src/kasync.c b/hw/kdrive/src/kasync.c index 2712ee50f..14a8afafb 100644 --- a/hw/kdrive/src/kasync.c +++ b/hw/kdrive/src/kasync.c @@ -87,25 +87,16 @@ KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC, { if (pGC->lineWidth == 0) - { KdCheckSync (pDrawable->pScreen); - fbZeroLine (pDrawable, pGC, mode, npt, ppt); - } - else - { - if (pGC->lineStyle != LineSolid) - miWideDash (pDrawable, pGC, mode, npt, ppt); - else - miWideLine (pDrawable, pGC, mode, npt, ppt); - } + fbPolyLine (pDrawable, pGC, mode, npt, ppt); } -#if 0 void KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC, int nsegInit, xSegment *pSegInit) { - KdCheckSync(pDrawable->pScreen); + if (pGC->lineWidth == 0) + KdCheckSync(pDrawable->pScreen); fbPolySegment (pDrawable, pGC, nsegInit, pSegInit); } @@ -113,10 +104,10 @@ void KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC, int nrects, xRectangle *prect) { - KdCheckSync(pDrawable->pScreen); + if (pGC->lineWidth == 0) + KdCheckSync(pDrawable->pScreen); fbPolyRectangle (pDrawable, pGC, nrects, prect); } -#endif void KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index 3352259d8..34d88d89e 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -21,7 +21,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/hw/kdrive/kdrive.h,v 1.1 1999/11/19 13:53:48 hohndel Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/kdrive/kdrive.h,v 1.2 1999/12/30 03:03:06 robin Exp $ */ #include #include "X.h" @@ -265,8 +265,13 @@ void KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt, DDXPointPtr ppt); -#define KdCheckPolySegment miPolySegment -#define KdCheckPolyRectangle miPolyRectangle +void +KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC, + int nsegInit, xSegment *pSegInit); + +void +KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC, + int nrects, xRectangle *prect); void KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, diff --git a/hw/kdrive/trident/trident.c b/hw/kdrive/trident/trident.c index db8b9ef8f..d346491bd 100644 --- a/hw/kdrive/trident/trident.c +++ b/hw/kdrive/trident/trident.c @@ -21,7 +21,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/hw/kdrive/trident/trident.c,v 1.1 1999/11/19 13:54:01 hohndel Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/kdrive/trident/trident.c,v 1.2 1999/12/30 03:03:15 robin Exp $ */ #include "trident.h" #define extern @@ -167,6 +167,8 @@ tridentSetMMIO (TridentCardInfo *tridentc) fprintf (stderr, "Trident GE not enabled 0x%x\n", v); continue; } + /* enable screen */ + tridentWriteIndex (tridentc, 0x3ce, 0x21, 0x80); /* enable burst r/w, disable memory mapped ports */ tridentWriteIndex (tridentc, 0x3d4, 0x39, 0x6); /* reset GE, enable GE, set GE to 0xbff00 */ -- cgit v1.2.3