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).
This commit is contained in:
David Dawes 2000-01-21 01:12:02 +00:00
parent 6d978d21b0
commit 306ac1db85
4 changed files with 26 additions and 28 deletions

View File

@ -22,7 +22,7 @@
* *
* Author: Keith Packard, SuSE, Inc. * 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 "s3.h"
#include "s3draw.h" #include "s3draw.h"
@ -57,7 +57,7 @@ static const GCOps s3TEOps1Rect = {
KdCheckPolyPoint, KdCheckPolyPoint,
s3Polylines, s3Polylines,
s3PolySegment, s3PolySegment,
miPolyRectangle, KdCheckPolyRectangle,
KdCheckPolyArc, KdCheckPolyArc,
s3FillPoly1Rect, s3FillPoly1Rect,
s3PolyFillRect, s3PolyFillRect,
@ -86,7 +86,7 @@ static const GCOps s3NonTEOps1Rect = {
KdCheckPolyPoint, KdCheckPolyPoint,
s3Polylines, s3Polylines,
s3PolySegment, s3PolySegment,
miPolyRectangle, KdCheckPolyRectangle,
KdCheckPolyArc, KdCheckPolyArc,
s3FillPoly1Rect, s3FillPoly1Rect,
s3PolyFillRect, s3PolyFillRect,
@ -113,9 +113,9 @@ static const GCOps s3TEOps = {
KdCheckPolyPoint, KdCheckPolyPoint,
s3Polylines, s3Polylines,
s3PolySegment, s3PolySegment,
miPolyRectangle, KdCheckPolyRectangle,
KdCheckPolyArc, KdCheckPolyArc,
miFillPolygon, KdCheckFillPolygon,
s3PolyFillRect, s3PolyFillRect,
s3PolyFillArcSolid, s3PolyFillArcSolid,
miPolyText8, miPolyText8,
@ -140,9 +140,9 @@ static const GCOps s3NonTEOps = {
KdCheckPolyPoint, KdCheckPolyPoint,
s3Polylines, s3Polylines,
s3PolySegment, s3PolySegment,
miPolyRectangle, KdCheckPolyRectangle,
KdCheckPolyArc, KdCheckPolyArc,
miFillPolygon, KdCheckFillPolygon,
s3PolyFillRect, s3PolyFillRect,
s3PolyFillArcSolid, s3PolyFillArcSolid,
miPolyText8, miPolyText8,
@ -321,7 +321,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
if (new_type || (changes & (GCLineStyle|GCLineWidth|GCFillStyle))) if (new_type || (changes & (GCLineStyle|GCLineWidth|GCFillStyle)))
{ {
pGC->ops->Polylines = KdCheckPolylines; pGC->ops->Polylines = KdCheckPolylines;
pGC->ops->PolySegment = miPolySegment; pGC->ops->PolySegment = KdCheckPolySegment;
if (pGC->lineStyle == LineSolid && if (pGC->lineStyle == LineSolid &&
pGC->lineWidth == 0 && pGC->lineWidth == 0 &&
pGC->fillStyle == FillSolid && pGC->fillStyle == FillSolid &&
@ -337,7 +337,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
*/ */
if (new_type || new_onerect || (changes & (GCFillStyle))) if (new_type || new_onerect || (changes & (GCFillStyle)))
{ {
pGC->ops->FillPolygon = miFillPolygon; pGC->ops->FillPolygon = KdCheckFillPolygon;
if (s3Priv->type == DRAWABLE_WINDOW && if (s3Priv->type == DRAWABLE_WINDOW &&
fbPriv->oneRect && fbPriv->oneRect &&
pGC->fillStyle == FillSolid) pGC->fillStyle == FillSolid)
@ -351,7 +351,7 @@ s3ValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable)
*/ */
if (new_type || (changes & GCFillStyle)) if (new_type || (changes & GCFillStyle))
{ {
pGC->ops->PolyFillArc = miPolyFillArc; pGC->ops->PolyFillArc = KdCheckPolyFillArc;
if (s3Priv->type == DRAWABLE_WINDOW && if (s3Priv->type == DRAWABLE_WINDOW &&
pGC->fillStyle == FillSolid) pGC->fillStyle == FillSolid)
{ {

View File

@ -87,24 +87,15 @@ KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
{ {
if (pGC->lineWidth == 0) if (pGC->lineWidth == 0)
{
KdCheckSync (pDrawable->pScreen); KdCheckSync (pDrawable->pScreen);
fbZeroLine (pDrawable, pGC, mode, npt, ppt); fbPolyLine (pDrawable, pGC, mode, npt, ppt);
}
else
{
if (pGC->lineStyle != LineSolid)
miWideDash (pDrawable, pGC, mode, npt, ppt);
else
miWideLine (pDrawable, pGC, mode, npt, ppt);
}
} }
#if 0
void void
KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC, KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
int nsegInit, xSegment *pSegInit) int nsegInit, xSegment *pSegInit)
{ {
if (pGC->lineWidth == 0)
KdCheckSync(pDrawable->pScreen); KdCheckSync(pDrawable->pScreen);
fbPolySegment (pDrawable, pGC, nsegInit, pSegInit); fbPolySegment (pDrawable, pGC, nsegInit, pSegInit);
} }
@ -113,10 +104,10 @@ void
KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC, KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC,
int nrects, xRectangle *prect) int nrects, xRectangle *prect)
{ {
if (pGC->lineWidth == 0)
KdCheckSync(pDrawable->pScreen); KdCheckSync(pDrawable->pScreen);
fbPolyRectangle (pDrawable, pGC, nrects, prect); fbPolyRectangle (pDrawable, pGC, nrects, prect);
} }
#endif
void void
KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,

View File

@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE. * 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 <stdio.h> #include <stdio.h>
#include "X.h" #include "X.h"
@ -265,8 +265,13 @@ void
KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC, KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
int mode, int npt, DDXPointPtr ppt); int mode, int npt, DDXPointPtr ppt);
#define KdCheckPolySegment miPolySegment void
#define KdCheckPolyRectangle miPolyRectangle KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
int nsegInit, xSegment *pSegInit);
void
KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC,
int nrects, xRectangle *prect);
void void
KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,

View File

@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE. * 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" #include "trident.h"
#define extern #define extern
@ -167,6 +167,8 @@ tridentSetMMIO (TridentCardInfo *tridentc)
fprintf (stderr, "Trident GE not enabled 0x%x\n", v); fprintf (stderr, "Trident GE not enabled 0x%x\n", v);
continue; continue;
} }
/* enable screen */
tridentWriteIndex (tridentc, 0x3ce, 0x21, 0x80);
/* enable burst r/w, disable memory mapped ports */ /* enable burst r/w, disable memory mapped ports */
tridentWriteIndex (tridentc, 0x3d4, 0x39, 0x6); tridentWriteIndex (tridentc, 0x3d4, 0x39, 0x6);
/* reset GE, enable GE, set GE to 0xbff00 */ /* reset GE, enable GE, set GE to 0xbff00 */