summaryrefslogtreecommitdiff
path: root/xc/programs
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs')
-rw-r--r--xc/programs/Imakefile25
-rw-r--r--xc/programs/Xserver/GL/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/dri/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/dri/dri.c163
-rw-r--r--xc/programs/Xserver/GL/dri/dri.h34
-rw-r--r--xc/programs/Xserver/GL/dri/drimodule.c3
-rw-r--r--xc/programs/Xserver/GL/dri/dristruct.h27
-rw-r--r--xc/programs/Xserver/GL/dri/sarea.h3
-rw-r--r--xc/programs/Xserver/GL/dri/xf86dri.c3
-rw-r--r--xc/programs/Xserver/GL/glx/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/glxmodule.c3
-rw-r--r--xc/programs/Xserver/GL/include/GL/xf86glx.h3
-rw-r--r--xc/programs/Xserver/GL/mesa/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/mesa/include/GL/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/mesa/include/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/mesa/src/GLcoremodule.c3
-rw-r--r--xc/programs/Xserver/GL/mesa/src/Imakefile9
-rw-r--r--xc/programs/Xserver/GL/mesa/src/X/Imakefile3
-rw-r--r--xc/programs/Xserver/GL/mesa/src/X/xf86glx.c3
-rw-r--r--xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c11
-rw-r--r--xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h7
-rw-r--r--xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h3
-rw-r--r--xc/programs/Xserver/Imakefile29
-rw-r--r--xc/programs/Xserver/Xext/fontcache.c4
-rw-r--r--xc/programs/Xserver/Xext/panoramiX.c106
-rw-r--r--xc/programs/Xserver/Xext/panoramiXSwap.c82
-rw-r--r--xc/programs/Xserver/Xext/panoramiXprocs.c9
-rw-r--r--xc/programs/Xserver/Xext/panoramiXsrv.h4
-rw-r--r--xc/programs/Xserver/Xext/shape.c38
-rw-r--r--xc/programs/Xserver/Xext/shm.c3
-rw-r--r--xc/programs/Xserver/Xext/xf86bigfont.c53
-rw-r--r--xc/programs/Xserver/fb/Imakefile4
-rw-r--r--xc/programs/Xserver/fb/fb.h10
-rw-r--r--xc/programs/Xserver/fb/fballpriv.c4
-rw-r--r--xc/programs/Xserver/fb/fbarc.c4
-rw-r--r--xc/programs/Xserver/fb/fbbits.c4
-rw-r--r--xc/programs/Xserver/fb/fbbits.h205
-rw-r--r--xc/programs/Xserver/fb/fbblt.c4
-rw-r--r--xc/programs/Xserver/fb/fbbltone.c4
-rw-r--r--xc/programs/Xserver/fb/fbbstore.c4
-rw-r--r--xc/programs/Xserver/fb/fbcopy.c4
-rw-r--r--xc/programs/Xserver/fb/fbfill.c4
-rw-r--r--xc/programs/Xserver/fb/fbfillrect.c4
-rw-r--r--xc/programs/Xserver/fb/fbfillsp.c4
-rw-r--r--xc/programs/Xserver/fb/fbgc.c4
-rw-r--r--xc/programs/Xserver/fb/fbgetsp.c4
-rw-r--r--xc/programs/Xserver/fb/fbglyph.c4
-rw-r--r--xc/programs/Xserver/fb/fbimage.c4
-rw-r--r--xc/programs/Xserver/fb/fbline.c58
-rw-r--r--xc/programs/Xserver/fb/fbpixmap.c4
-rw-r--r--xc/programs/Xserver/fb/fbpoint.c17
-rw-r--r--xc/programs/Xserver/fb/fbpush.c4
-rw-r--r--xc/programs/Xserver/fb/fbrop.h4
-rw-r--r--xc/programs/Xserver/fb/fbscreen.c4
-rw-r--r--xc/programs/Xserver/fb/fbseg.c4
-rw-r--r--xc/programs/Xserver/fb/fbsetsp.c4
-rw-r--r--xc/programs/Xserver/fb/fbsolid.c4
-rw-r--r--xc/programs/Xserver/fb/fbstipple.c4
-rw-r--r--xc/programs/Xserver/fb/fbtile.c4
-rw-r--r--xc/programs/Xserver/fb/fbutil.c4
-rw-r--r--xc/programs/Xserver/fb/fbwindow.c4
61 files changed, 685 insertions, 358 deletions
diff --git a/xc/programs/Imakefile b/xc/programs/Imakefile
index 24415a90e..324ba930d 100644
--- a/xc/programs/Imakefile
+++ b/xc/programs/Imakefile
@@ -2,7 +2,7 @@ XCOMM $TOG: Imakefile /main/85 1998/02/26 17:14:44 kaleb $
XCOMM
XCOMM
XCOMM
-XCOMM $XFree86: xc/programs/Imakefile,v 3.23 1999/05/04 09:35:24 dawes Exp $
+XCOMM $XFree86: xc/programs/Imakefile,v 3.28 2000/02/26 05:35:07 dawes Exp $
#define IHaveSubdirs
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
@@ -56,6 +56,10 @@ XFINDPROXYSRCDIR = xfindproxy
MKCFMSRCDIR = mkcfm
#endif
+#if BuildDPSLibraries
+ MAKEPSRESDIR = makepsres
+#endif
+
XPMCLIENTDIRS = cxpm sxpm
#if BuildServersOnly
@@ -64,15 +68,18 @@ SUBDIRS = $(XSSRCDIR)
SUBDIRS = \
appres bdftopcf bitmap \
$(SCREENSAVESRCDIR) editres fsinfo fslsfonts fstobdf iceauth \
- $(MKCFMSRCDIR) \
+ ico listres \
+ $(MAKEPSRESDIR) $(MKCFMSRCDIR) \
mkfontdir oclock $(PROXYMGRSRCDIR) $(RGBSRCDIR) $(RSTARTSRCDIR) \
- setxkbmap \
- $(SMPROXYSRCDIR) $(TWMSRCDIR) x11perf xauth xclipboard xclock \
- xcmsdb $(XCONSOLESRCDIR) $(XDMSRCDIR) xdpyinfo \
- $(XF86DGASRCDIR) xedit xfd $(XFSSRCDIR) \
- $(XFINDPROXYSRCDIR) $(XFWPSRCDIR) $(XGAMMASRCDIR) $(XHOSTSRCDIR) \
- xieperf $(XINITSRCDIR) $(XKBSRCDIRS) xkill xlogo xlsatoms xlsclients \
- xlsfonts xmag xmodmap xprop xrdb xrefresh $(XRXSRCDIR) xset \
+ setxkbmap showfont \
+ $(SMPROXYSRCDIR) $(TWMSRCDIR) viewres x11perf xauth xbiff xcalc \
+ xclipboard xclock \
+ xcmsdb $(XCONSOLESRCDIR) xditview $(XDMSRCDIR) xdpyinfo \
+ $(XF86DGASRCDIR) xedit xev xeyes xfd xfontsel $(XFSSRCDIR) \
+ $(XFINDPROXYSRCDIR) $(XFWPSRCDIR) $(XGAMMASRCDIR) xgc $(XHOSTSRCDIR) \
+ xieperf $(XINITSRCDIR) $(XKBSRCDIRS) xkill xload xlogo xlsatoms \
+ xlsclients xlsfonts xmag xman xmessage xmodmap xprop xrdb \
+ xrefresh $(XRXSRCDIR) xset \
xsetroot $(XSMSRCDIR) xstdcmap xsetmode xsetpointer \
$(XTERMSRCDIR) $(XVIDTUNESRCDIR) xwd xwininfo xwud \
$(XPMCLIENTDIRS) \
diff --git a/xc/programs/Xserver/GL/Imakefile b/xc/programs/Xserver/GL/Imakefile
index 34b3dd0ef..e757143f6 100644
--- a/xc/programs/Xserver/GL/Imakefile
+++ b/xc/programs/Xserver/GL/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/Imakefile,v 1.5 1999/08/14 10:49:22 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/Imakefile,v 1.14 1999/06/07 12:56:02 faith Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/Imakefile,v 1.6 2000/02/23 04:46:51 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/dri/Imakefile b/xc/programs/Xserver/GL/dri/Imakefile
index eec83ee85..0bda344d3 100644
--- a/xc/programs/Xserver/GL/dri/Imakefile
+++ b/xc/programs/Xserver/GL/dri/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/dri/Imakefile,v 1.4 1999/08/14 10:49:23 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/dri/Imakefile,v 1.13 1999/06/07 12:55:30 faith Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/dri/Imakefile,v 1.5 2000/02/23 04:46:52 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/dri/dri.c b/xc/programs/Xserver/GL/dri/dri.c
index 2996ecd27..68e638f27 100644
--- a/xc/programs/Xserver/GL/dri/dri.c
+++ b/xc/programs/Xserver/GL/dri/dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/dri/dri.c,v 1.11 2000/02/15 07:13:32 martin Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/dri.c,v 1.13 2000/03/04 01:53:01 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -223,11 +223,12 @@ Bool
DRIFinishScreenInit(ScreenPtr pScreen)
{
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
+ DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
DRIContextFlags flags = 0;
DRIContextPrivPtr pDRIContextPriv;
/* Set up flags for DRICreateContextPriv */
- switch (pDRIPriv->pDriverInfo->driverSwapMethod) {
+ switch (pDRIInfo->driverSwapMethod) {
case DRI_KERNEL_SWAP: flags = DRI_CONTEXT_2DONLY; break;
case DRI_HIDE_X_CONTEXT: flags = DRI_CONTEXT_PRESERVED; break;
}
@@ -248,7 +249,7 @@ DRIFinishScreenInit(ScreenPtr pScreen)
pDRIPriv->hiddenContextStore = NULL;
pDRIPriv->partial3DContextStore = NULL;
- switch(pDRIPriv->pDriverInfo->driverSwapMethod) {
+ switch(pDRIInfo->driverSwapMethod) {
case DRI_HIDE_X_CONTEXT:
/* Server will handle 3D swaps, and hide 2D swaps from kernel.
* Register server context as a preserved context.
@@ -256,7 +257,7 @@ DRIFinishScreenInit(ScreenPtr pScreen)
/* allocate memory for hidden context store */
pDRIPriv->hiddenContextStore
- = (void *)xalloc(pDRIPriv->pDriverInfo->contextSize);
+ = (void *)xalloc(pDRIInfo->contextSize);
if (!pDRIPriv->hiddenContextStore) {
DRIDrvMsg(pScreen->myNum, X_ERROR,
"failed to allocate hidden context\n");
@@ -266,7 +267,7 @@ DRIFinishScreenInit(ScreenPtr pScreen)
/* allocate memory for partial 3D context store */
pDRIPriv->partial3DContextStore
- = (void *)xalloc(pDRIPriv->pDriverInfo->contextSize);
+ = (void *)xalloc(pDRIInfo->contextSize);
if (!pDRIPriv->partial3DContextStore) {
DRIDrvMsg(pScreen->myNum, X_ERROR,
"[DRI] failed to allocate partial 3D context\n");
@@ -276,8 +277,8 @@ DRIFinishScreenInit(ScreenPtr pScreen)
}
/* save initial context store */
- if (pDRIPriv->pDriverInfo->SwapContext) {
- (*pDRIPriv->pDriverInfo->SwapContext)(
+ if (pDRIInfo->SwapContext) {
+ (*pDRIInfo->SwapContext)(
pScreen,
DRI_NO_SYNC,
DRI_2D_CONTEXT,
@@ -310,23 +311,29 @@ DRIFinishScreenInit(ScreenPtr pScreen)
}
/* Wrap DRI support */
- pDRIPriv->WakeupHandler = pScreen->WakeupHandler;
- pDRIPriv->BlockHandler = pScreen->BlockHandler;
- pDRIPriv->ValidateTree = pScreen->ValidateTree;
- pDRIPriv->PostValidateTree = pScreen->PostValidateTree;
- pScreen->WakeupHandler = DRIWakeupHandler;
- pScreen->BlockHandler = DRIBlockHandler;
- pScreen->ValidateTree = DRIValidateTree;
- pScreen->PostValidateTree = DRIPostValidateTree;
+ if (pDRIInfo->wrap.ValidateTree) {
+ pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
+ pScreen->ValidateTree = pDRIInfo->wrap.ValidateTree;
+ }
+ if (pDRIInfo->wrap.PostValidateTree) {
+ pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
+ pScreen->PostValidateTree = pDRIInfo->wrap.PostValidateTree;
+ }
/* Potentential optimization: don't wrap the following routines if
- pDRIPriv->pDriverInfo->bufferRequests == DRI_NO_WINDOWS */
- pDRIPriv->PaintWindowBackground = pScreen->PaintWindowBackground;
- pDRIPriv->PaintWindowBorder = pScreen->PaintWindowBorder;
- pDRIPriv->CopyWindow = pScreen->CopyWindow;
- pScreen->PaintWindowBackground = DRIPaintWindow;
- pScreen->PaintWindowBorder = DRIPaintWindow;
- pScreen->CopyWindow = DRICopyWindow;
+ pDRIInfo->bufferRequests == DRI_NO_WINDOWS */
+ if (pDRIInfo->wrap.PaintWindowBackground) {
+ pDRIPriv->wrap.PaintWindowBackground = pScreen->PaintWindowBackground;
+ pScreen->PaintWindowBackground = pDRIInfo->wrap.PaintWindowBackground;
+ }
+ if (pDRIInfo->wrap.PaintWindowBorder) {
+ pDRIPriv->wrap.PaintWindowBorder = pScreen->PaintWindowBorder;
+ pScreen->PaintWindowBorder = pDRIInfo->wrap.PaintWindowBorder;
+ }
+ if (pDRIInfo->wrap.CopyWindow) {
+ pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
+ pScreen->CopyWindow = pDRIInfo->wrap.CopyWindow;
+ }
miClipNotify(DRIClipNotify);
DRIDrvMsg(pScreen->myNum, X_INFO, "[DRI] installation complete\n");
@@ -419,6 +426,8 @@ DRIExtensionInit(void)
return FALSE;
}
+ RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
+
return TRUE;
}
@@ -938,8 +947,21 @@ DRIGetDeviceInfo(
DRIInfoPtr
DRICreateInfoRec(void)
{
- DRIInfoPtr inforec = xalloc(sizeof(DRIInfoRec));
+ DRIInfoPtr inforec = (DRIInfoPtr)xalloc(sizeof(DRIInfoRec));
+ if (!inforec) return NULL;
+
+ /* Initialize defaults */
inforec->busIdString = NULL;
+
+ /* Wrapped function defaults */
+ inforec->wrap.WakeupHandler = DRIDoWakeupHandler;
+ inforec->wrap.BlockHandler = DRIDoBlockHandler;
+ inforec->wrap.PaintWindowBackground = DRIPaintWindow;
+ inforec->wrap.PaintWindowBorder = DRIPaintWindow;
+ inforec->wrap.CopyWindow = DRICopyWindow;
+ inforec->wrap.ValidateTree = DRIValidateTree;
+ inforec->wrap.PostValidateTree = DRIPostValidateTree;
+
return inforec;
}
@@ -952,6 +974,44 @@ DRIDestroyInfoRec(DRIInfoPtr DRIInfo)
void
DRIWakeupHandler(
+ pointer wakeupData,
+ int result,
+ pointer pReadmask)
+{
+ int i;
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen = screenInfo.screens[i];
+ DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
+
+ if (pDRIPriv &&
+ pDRIPriv->pDriverInfo->wrap.WakeupHandler)
+ (*pDRIPriv->pDriverInfo->wrap.WakeupHandler)(i, wakeupData,
+ result, pReadmask);
+ }
+}
+
+void
+DRIBlockHandler(
+ pointer blockData,
+ OSTimePtr pTimeout,
+ pointer pReadmask)
+{
+ int i;
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ ScreenPtr pScreen = screenInfo.screens[i];
+ DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
+
+ if (pDRIPriv &&
+ pDRIPriv->pDriverInfo->wrap.BlockHandler)
+ (*pDRIPriv->pDriverInfo->wrap.BlockHandler)(i, blockData,
+ pTimeout, pReadmask);
+ }
+}
+
+void
+DRIDoWakeupHandler(
int screenNum,
pointer wakeupData,
unsigned long result,
@@ -960,7 +1020,7 @@ DRIWakeupHandler(
ScreenPtr pScreen = screenInfo.screens[screenNum];
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
- DRILock(pScreen);
+ DRILock(pScreen, 0);
if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
/* hide X context by swapping 2D component here */
(*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
@@ -970,38 +1030,18 @@ DRIWakeupHandler(
DRI_2D_CONTEXT,
pDRIPriv->hiddenContextStore);
}
-
- /* unwrap */
- pScreen->WakeupHandler = pDRIPriv->WakeupHandler;
-
- /* call lower layers */
- (*pScreen->WakeupHandler)(screenNum, wakeupData, result, pReadmask);
-
- /* rewrap */
- pDRIPriv->WakeupHandler = pScreen->WakeupHandler;
- pScreen->WakeupHandler = DRIWakeupHandler;
}
void
-DRIBlockHandler(
+DRIDoBlockHandler(
int screenNum,
pointer blockData,
- struct timeval **pTimeout,
+ pointer pTimeout,
pointer pReadmask)
{
ScreenPtr pScreen = screenInfo.screens[screenNum];
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
- /* unwrap */
- pScreen->BlockHandler = pDRIPriv->BlockHandler;
-
- /* call lower layers */
- (*pScreen->BlockHandler)(screenNum, blockData, pTimeout, pReadmask);
-
- /* rewrap */
- pDRIPriv->BlockHandler = pScreen->BlockHandler;
- pScreen->BlockHandler = DRIBlockHandler;
-
if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
/* hide X context by swapping 2D component here */
(*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
@@ -1210,13 +1250,13 @@ DRIPaintWindow(
}
/* unwrap */
- pScreen->PaintWindowBackground = pDRIPriv->PaintWindowBackground;
+ pScreen->PaintWindowBackground = pDRIPriv->wrap.PaintWindowBackground;
/* call lower layers */
(*pScreen->PaintWindowBackground)(pWin, prgn, what);
/* rewrap */
- pDRIPriv->PaintWindowBackground = pScreen->PaintWindowBackground;
+ pDRIPriv->wrap.PaintWindowBackground = pScreen->PaintWindowBackground;
pScreen->PaintWindowBackground = DRIPaintWindow;
}
else {
@@ -1227,13 +1267,13 @@ DRIPaintWindow(
}
/* unwrap */
- pScreen->PaintWindowBorder = pDRIPriv->PaintWindowBorder;
+ pScreen->PaintWindowBorder = pDRIPriv->wrap.PaintWindowBorder;
/* call lower layers */
(*pScreen->PaintWindowBorder)(pWin, prgn, what);
/* rewrap */
- pDRIPriv->PaintWindowBorder = pScreen->PaintWindowBorder;
+ pDRIPriv->wrap.PaintWindowBorder = pScreen->PaintWindowBorder;
pScreen->PaintWindowBorder = DRIPaintWindow;
}
}
@@ -1269,13 +1309,13 @@ DRICopyWindow(
}
/* unwrap */
- pScreen->CopyWindow = pDRIPriv->CopyWindow;
+ pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow;
/* call lower layers */
(*pScreen->CopyWindow)(pWin, ptOldOrg, prgnSrc);
/* rewrap */
- pDRIPriv->CopyWindow = pScreen->CopyWindow;
+ pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
pScreen->CopyWindow = DRICopyWindow;
}
@@ -1358,7 +1398,7 @@ DRIValidateTree(
}
/* Call kernel to release lock */
- DRM_UNLOCK(pDRIPriv->drmFD, pDRIPriv->pSAREA, pDRIPriv->myContext);
+ DRIUnlock(pScreen);
/* Grab drawable spin lock: a time out between 10 and 30 seconds is
appropriate, since this should never time out except in the case of
@@ -1367,8 +1407,7 @@ DRIValidateTree(
DRISpinLockTimeout(&pDRIPriv->pSAREA->drawable_lock, 1, 10000); /* 10 secs */
/* Call kernel flush outstanding buffers and relock */
- DRM_LOCK(pDRIPriv->drmFD, pDRIPriv->pSAREA, pDRIPriv->myContext,
- DRM_LOCK_QUIESCENT|DRM_LOCK_FLUSH_ALL);
+ DRILock(pScreen, DRM_LOCK_QUIESCENT|DRM_LOCK_FLUSH_ALL);
/* Switch back to our 2D context if the X context is hidden */
if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
@@ -1382,13 +1421,13 @@ DRIValidateTree(
}
/* unwrap */
- pScreen->ValidateTree = pDRIPriv->ValidateTree;
+ pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
/* call lower layers */
returnValue = (*pScreen->ValidateTree)(pParent, pChild, kind);
/* rewrap */
- pDRIPriv->ValidateTree = pScreen->ValidateTree;
+ pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
pScreen->ValidateTree = DRIValidateTree;
return returnValue;
@@ -1410,15 +1449,15 @@ DRIPostValidateTree(
}
pDRIPriv = DRI_SCREEN_PRIV(pScreen);
- if (pDRIPriv->PostValidateTree) {
+ if (pDRIPriv->wrap.PostValidateTree) {
/* unwrap */
- pScreen->PostValidateTree = pDRIPriv->PostValidateTree;
+ pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
/* call lower layers */
(*pScreen->PostValidateTree)(pParent, pChild, kind);
/* rewrap */
- pDRIPriv->PostValidateTree = pScreen->PostValidateTree;
+ pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
pScreen->PostValidateTree = DRIPostValidateTree;
}
@@ -1464,11 +1503,11 @@ DRIGetDrawableIndex(
}
void
-DRILock(ScreenPtr pScreen) {
+DRILock(ScreenPtr pScreen, int flags) {
DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
if (!lockRefCount)
- DRM_LIGHT_LOCK(pDRIPriv->drmFD, pDRIPriv->pSAREA, pDRIPriv->myContext);
+ DRM_LOCK(pDRIPriv->drmFD, pDRIPriv->pSAREA, pDRIPriv->myContext, flags);
lockRefCount++;
}
diff --git a/xc/programs/Xserver/GL/dri/dri.h b/xc/programs/Xserver/GL/dri/dri.h
index e04027161..d82ec5359 100644
--- a/xc/programs/Xserver/GL/dri/dri.h
+++ b/xc/programs/Xserver/GL/dri/dri.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/dri/dri.h,v 1.7 2000/02/14 06:27:13 martin Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/dri.h,v 1.9 2000/03/04 01:53:02 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -69,6 +69,21 @@ typedef int DRIWindowRequests;
#define DRI_3D_WINDOWS_ONLY 1
#define DRI_ALL_WINDOWS 2
+/*
+ * These functions can be wrapped by the DRI. Each of these have
+ * generic default funcs (initialized in DRICreateInfoRec) and can be
+ * overridden by the driver in its [driver]DRIScreenInit function.
+ */
+typedef struct {
+ ScreenWakeupHandlerProcPtr WakeupHandler;
+ ScreenBlockHandlerProcPtr BlockHandler;
+ PaintWindowBackgroundProcPtr PaintWindowBackground;
+ PaintWindowBorderProcPtr PaintWindowBorder;
+ CopyWindowProcPtr CopyWindow;
+ ValidateTreeProcPtr ValidateTree;
+ PostValidateTreeProcPtr PostValidateTree;
+} DRIWrappedFuncsRec, *DRIWrappedFuncsPtr;
+
typedef struct {
/* driver call back functions */
Bool (*CreateContext)(ScreenPtr pScreen,
@@ -93,6 +108,9 @@ typedef struct {
RegionPtr prgnSrc,
CARD32 index);
+ /* wrapped functions */
+ DRIWrappedFuncsRec wrap;
+
/* device info */
char* drmDriverName;
char* clientDriverName;
@@ -182,14 +200,22 @@ DRIInfoPtr DRICreateInfoRec(void);
void DRIDestroyInfoRec(DRIInfoPtr DRIInfo);
Bool DRIFinishScreenInit(ScreenPtr pScreen);
void DRIWakeupHandler(
+ pointer wakeupData,
+ int result,
+ pointer pReadmask);
+void DRIBlockHandler(
+ pointer blockData,
+ OSTimePtr pTimeout,
+ pointer pReadmask);
+void DRIDoWakeupHandler(
int screenNum,
pointer wakeupData,
unsigned long result,
pointer pReadmask);
-void DRIBlockHandler(
+void DRIDoBlockHandler(
int screenNum,
pointer blockData,
- struct timeval **pTimeout,
+ pointer pTimeout,
pointer pReadmask);
void DRISwapContext(
int drmFD,
@@ -218,7 +244,7 @@ void DRIClipNotify(
int dy);
CARD32 DRIGetDrawableIndex(
WindowPtr pWin);
-void DRILock(ScreenPtr pScreen);
+void DRILock(ScreenPtr pScreen, int flags);
void DRIUnlock(ScreenPtr pScreen);
void *DRIGetSAREAPrivate(ScreenPtr pScreen);
DRIContextPrivPtr
diff --git a/xc/programs/Xserver/GL/dri/drimodule.c b/xc/programs/Xserver/GL/dri/drimodule.c
index 9ea8c961b..e4e12df8b 100644
--- a/xc/programs/Xserver/GL/dri/drimodule.c
+++ b/xc/programs/Xserver/GL/dri/drimodule.c
@@ -24,14 +24,13 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/GL/dri/drimodule.c,v 1.2 2000/01/25 18:37:36 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/drimodule.c,v 1.3 2000/02/23 04:46:52 martin Exp $ */
/*
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
* Rickard E. Faith <faith@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/dri/drimodule.c,v 1.1 1999/06/07 12:55:30 faith Exp $
*/
#include "xf86Module.h"
diff --git a/xc/programs/Xserver/GL/dri/dristruct.h b/xc/programs/Xserver/GL/dri/dristruct.h
index 67da27c7a..392be3d97 100644
--- a/xc/programs/Xserver/GL/dri/dristruct.h
+++ b/xc/programs/Xserver/GL/dri/dristruct.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/dri/dristruct.h,v 1.5 2000/02/14 06:27:14 martin Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/dristruct.h,v 1.7 2000/03/02 16:07:38 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -30,7 +30,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors:
* Jens Owen <jens@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/dri/dristruct.h,v 1.28 1999/08/04 18:12:56 faith Exp $
*/
#ifndef DRI_STRUCT_H
@@ -88,29 +87,7 @@ typedef struct _DRIScreenPrivRec
void** hiddenContextStore; /* hidden X context */
void** partial3DContextStore; /* parital 3D context */
DRIInfoPtr pDriverInfo;
- void (*WakeupHandler)(int screenNum,
- pointer wakeupData,
- unsigned long result,
- pointer pReadmask);
- void (*BlockHandler)(int screenNum,
- pointer blockData,
- struct timeval **pTimeout,
- pointer pReadmask);
- void (*PaintWindowBackground)(WindowPtr pWin,
- RegionPtr prgn,
- int what);
- void (*PaintWindowBorder)(WindowPtr pWin,
- RegionPtr prgn,
- int what);
- void (*CopyWindow)(WindowPtr pWin,
- DDXPointRec ptOldOrg,
- RegionPtr prgnSrc);
- int (*ValidateTree)(WindowPtr pParent,
- WindowPtr pChild,
- VTKind kind);
- void (*PostValidateTree)(WindowPtr pParent,
- WindowPtr pChild,
- VTKind kind);
+ DRIWrappedFuncsRec wrap;
DrawablePtr DRIDrawables[SAREA_MAX_DRAWABLES];
} DRIScreenPrivRec, *DRIScreenPrivPtr;
diff --git a/xc/programs/Xserver/GL/dri/sarea.h b/xc/programs/Xserver/GL/dri/sarea.h
index 86d4c4da2..c1054f0a0 100644
--- a/xc/programs/Xserver/GL/dri/sarea.h
+++ b/xc/programs/Xserver/GL/dri/sarea.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/dri/sarea.h,v 1.3 2000/02/14 06:27:14 martin Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/sarea.h,v 1.4 2000/02/23 04:46:52 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -31,7 +31,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Kevin E. Martin <kevin@precisioninsight.com>
* Jens Owen <jens@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/dri/sarea.h,v 1.9 1999/05/19 01:26:35 martin Exp $
*/
#ifndef _SAREA_H_
diff --git a/xc/programs/Xserver/GL/dri/xf86dri.c b/xc/programs/Xserver/GL/dri/xf86dri.c
index daac61615..b39b57450 100644
--- a/xc/programs/Xserver/GL/dri/xf86dri.c
+++ b/xc/programs/Xserver/GL/dri/xf86dri.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/dri/xf86dri.c,v 1.5 2000/02/15 07:13:32 martin Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/dri/xf86dri.c,v 1.6 2000/02/23 04:46:52 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -31,7 +31,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Kevin E. Martin <kevin@precisioninsight.com>
* Jens Owen <jens@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/dri/xf86dri.c,v 1.20 1999/06/24 19:10:40 faith Exp $
*/
#if XFree86LOADER
diff --git a/xc/programs/Xserver/GL/glx/Imakefile b/xc/programs/Xserver/GL/glx/Imakefile
index c9e6767c4..be20058f1 100644
--- a/xc/programs/Xserver/GL/glx/Imakefile
+++ b/xc/programs/Xserver/GL/glx/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/glx/Imakefile,v 1.6 1999/06/14 14:28:46 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/glx/Imakefile,v 1.11 1999/05/27 03:43:33 jens Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/glx/Imakefile,v 1.7 2000/02/23 04:46:53 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/glxmodule.c b/xc/programs/Xserver/GL/glxmodule.c
index 6322f453b..a874bb6c9 100644
--- a/xc/programs/Xserver/GL/glxmodule.c
+++ b/xc/programs/Xserver/GL/glxmodule.c
@@ -25,13 +25,12 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
**************************************************************************/
-/* $XFree86: xc/programs/Xserver/GL/glxmodule.c,v 1.8 2000/02/18 16:23:12 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/glxmodule.c,v 1.9 2000/02/23 04:46:51 martin Exp $ */
/*
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/glxmodule.c,v 1.10 1999/06/08 11:01:04 faith Exp $
*/
#include "xf86Module.h"
diff --git a/xc/programs/Xserver/GL/include/GL/xf86glx.h b/xc/programs/Xserver/GL/include/GL/xf86glx.h
index f8a668cd1..7a467b9b5 100644
--- a/xc/programs/Xserver/GL/include/GL/xf86glx.h
+++ b/xc/programs/Xserver/GL/include/GL/xf86glx.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/include/GL/xf86glx.h,v 1.3 1999/06/14 07:31:41 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/include/GL/xf86glx.h,v 1.4 2000/02/23 04:46:54 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -30,7 +30,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/include/GL/xf86glx.h,v 1.6 1999/06/10 00:31:50 martin Exp $
*/
#include "miscstruct.h"
diff --git a/xc/programs/Xserver/GL/mesa/Imakefile b/xc/programs/Xserver/GL/mesa/Imakefile
index 397cb646d..45a2e7721 100644
--- a/xc/programs/Xserver/GL/mesa/Imakefile
+++ b/xc/programs/Xserver/GL/mesa/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/mesa/Imakefile,v 1.3 1999/06/14 14:37:12 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/mesa/Imakefile,v 1.3 1999/03/15 17:11:59 martin Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/mesa/Imakefile,v 1.4 2000/02/23 04:46:54 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/mesa/include/GL/Imakefile b/xc/programs/Xserver/GL/mesa/include/GL/Imakefile
index 654d183fd..3bef7e2db 100644
--- a/xc/programs/Xserver/GL/mesa/include/GL/Imakefile
+++ b/xc/programs/Xserver/GL/mesa/include/GL/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/mesa/include/GL/Imakefile,v 1.3 2000/02/08 17:18:51 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/mesa/include/GL/Imakefile,v 1.6 1999/03/15 21:36:09 martin Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/mesa/include/GL/Imakefile,v 1.4 2000/02/23 04:46:55 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/mesa/include/Imakefile b/xc/programs/Xserver/GL/mesa/include/Imakefile
index c42ca7c75..01129e606 100644
--- a/xc/programs/Xserver/GL/mesa/include/Imakefile
+++ b/xc/programs/Xserver/GL/mesa/include/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/mesa/include/Imakefile,v 1.2 1999/06/14 07:31:41 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/mesa/include/Imakefile,v 1.4 1999/03/15 21:36:09 martin Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/mesa/include/Imakefile,v 1.3 2000/02/23 04:46:54 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/mesa/src/GLcoremodule.c b/xc/programs/Xserver/GL/mesa/src/GLcoremodule.c
index aa8a85c8a..422da4820 100644
--- a/xc/programs/Xserver/GL/mesa/src/GLcoremodule.c
+++ b/xc/programs/Xserver/GL/mesa/src/GLcoremodule.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/mesa/src/GLcoremodule.c,v 1.4 2000/02/18 16:23:12 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/mesa/src/GLcoremodule.c,v 1.5 2000/02/23 04:46:55 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -30,7 +30,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/mesa/src/GLcoremodule.c,v 1.6 1999/05/27 03:43:46 jens Exp $
*/
#include "xf86Module.h"
diff --git a/xc/programs/Xserver/GL/mesa/src/Imakefile b/xc/programs/Xserver/GL/mesa/src/Imakefile
index b4e753ede..29ae102d4 100644
--- a/xc/programs/Xserver/GL/mesa/src/Imakefile
+++ b/xc/programs/Xserver/GL/mesa/src/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/mesa/src/Imakefile,v 1.11 2000/02/18 12:18:56 tsi Exp $
-XCOMM $PI: xc/programs/Xserver/GL/mesa/src/Imakefile,v 1.9 1999/05/27 03:43:46 jens Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/mesa/src/Imakefile,v 1.13 2000/03/02 16:07:38 martin Exp $
#define IHaveModules
#include <Server.tmpl>
@@ -67,6 +66,9 @@ LinkSourceFile(fixed.h,../../../../../extras/Mesa/src)
LinkSourceFile(fog.c,../../../../../extras/Mesa/src)
LinkSourceFile(fog.h,../../../../../extras/Mesa/src)
LinkSourceFile(fog_tmp.h,../../../../../extras/Mesa/src)
+LinkSourceFile(general_clip.h,../../../../../extras/Mesa/src)
+LinkSourceFile(get.c,../../../../../extras/Mesa/src)
+LinkSourceFile(get.h,../../../../../extras/Mesa/src)
LinkSourceFile(glapi.h,../../../../../extras/Mesa/src)
LinkSourceFile(glapi.c,../../../../../extras/Mesa/src)
LinkSourceFile(glapioffsets.h,../../../../../extras/Mesa/src)
@@ -77,9 +79,6 @@ LinkSourceFile(glapitemp.h,../../../../../extras/Mesa/src)
LinkSourceFile(glheader.h,../../../../../extras/Mesa/src)
LinkSourceFile(glthread.c,../../../../../extras/Mesa/src)
LinkSourceFile(glthread.h,../../../../../extras/Mesa/src)
-LinkSourceFile(general_clip.h,../../../../../extras/Mesa/src)
-LinkSourceFile(get.c,../../../../../extras/Mesa/src)
-LinkSourceFile(get.h,../../../../../extras/Mesa/src)
LinkSourceFile(hash.c,../../../../../extras/Mesa/src)
LinkSourceFile(hash.h,../../../../../extras/Mesa/src)
LinkSourceFile(hint.c,../../../../../extras/Mesa/src)
diff --git a/xc/programs/Xserver/GL/mesa/src/X/Imakefile b/xc/programs/Xserver/GL/mesa/src/X/Imakefile
index 9dd8819e4..83d864cb7 100644
--- a/xc/programs/Xserver/GL/mesa/src/X/Imakefile
+++ b/xc/programs/Xserver/GL/mesa/src/X/Imakefile
@@ -1,5 +1,4 @@
-XCOMM $XFree86: xc/programs/Xserver/GL/mesa/src/X/Imakefile,v 1.6 2000/02/08 17:18:52 dawes Exp $
-XCOMM $PI: xc/programs/Xserver/GL/mesa/src/X/Imakefile,v 1.6 1999/03/15 21:36:10 martin Exp $
+XCOMM $XFree86: xc/programs/Xserver/GL/mesa/src/X/Imakefile,v 1.7 2000/02/23 04:46:56 martin Exp $
#define IHaveModules
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/GL/mesa/src/X/xf86glx.c b/xc/programs/Xserver/GL/mesa/src/X/xf86glx.c
index 3555ba070..f305e3488 100644
--- a/xc/programs/Xserver/GL/mesa/src/X/xf86glx.c
+++ b/xc/programs/Xserver/GL/mesa/src/X/xf86glx.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx.c,v 1.6 2000/02/08 17:18:52 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx.c,v 1.7 2000/02/23 04:46:56 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -30,7 +30,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/mesa/src/X/xf86glx.c,v 1.15 1999/08/04 18:14:14 faith Exp $
*/
#include <miscstruct.h>
diff --git a/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c b/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c
index c0cafaa8e..ff2654830 100644
--- a/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c
+++ b/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c,v 1.3 1999/06/14 07:31:43 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c,v 1.5 2000/03/02 16:07:39 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -29,8 +29,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/*
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
- *
- * $PI: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.c,v 1.6 1999/05/27 03:43:48 jens Exp $
+ * Brian Paul <brian@precisioninsight.com>
*/
#include <gcstruct.h>
@@ -45,7 +44,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define ROUNDUP(nbytes, pad) ((((nbytes) + ((pad)-1)) / (pad)) * ((pad)>>3))
-XMesaImage *XMesaCreateImage(int depth, int width, int height, char *data)
+XMesaImage *XMesaCreateImage(int bitsPerPixel, int width, int height, char *data)
{
XMesaImage *image;
@@ -56,8 +55,8 @@ XMesaImage *XMesaCreateImage(int depth, int width, int height, char *data)
image->height = height;
image->data = data;
/* Always pad to 32 bits */
- image->bytes_per_line = ROUNDUP((depth * width), 32);
- image->bits_per_pixel = depth;
+ image->bytes_per_line = ROUNDUP((bitsPerPixel * width), 32);
+ image->bits_per_pixel = bitsPerPixel;
}
return image;
diff --git a/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h b/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h
index e5a88fe86..ba9a04f9d 100644
--- a/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h
+++ b/xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h,v 1.2 1999/06/14 07:31:43 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h,v 1.4 2000/03/02 16:07:39 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -29,8 +29,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/*
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
- *
- * $PI: xc/programs/Xserver/GL/mesa/src/X/xf86glx_util.h,v 1.5 1999/03/15 21:36:10 martin Exp $
+ * Brian Paul <brian@precisioninsight.com>
*/
#ifndef _XF86GLX_UTIL_H_
@@ -50,7 +49,7 @@ struct _XMesaImageRec {
int bits_per_pixel;
};
-extern XMesaImage *XMesaCreateImage(int depth, int width, int height,
+extern XMesaImage *XMesaCreateImage(int bitsPerPixel, int width, int height,
char *data);
extern void XMesaDestroyImage(XMesaImage *image);
extern unsigned long XMesaGetPixel(XMesaImage *image, int x, int y);
diff --git a/xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h b/xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h
index bd000fde8..c403c00fd 100644
--- a/xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h
+++ b/xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h,v 1.2 1999/06/14 07:31:44 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h,v 1.3 2000/02/23 04:46:57 martin Exp $ */
/**************************************************************************
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
@@ -30,7 +30,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* Authors:
* Kevin E. Martin <kevin@precisioninsight.com>
*
- * $PI: xc/programs/Xserver/GL/mesa/src/X/xf86glxint.h,v 1.7 1999/04/11 04:20:55 martin Exp $
*/
#ifndef _XF86GLXINT_H_
diff --git a/xc/programs/Xserver/Imakefile b/xc/programs/Xserver/Imakefile
index f0ca1ff94..45300d897 100644
--- a/xc/programs/Xserver/Imakefile
+++ b/xc/programs/Xserver/Imakefile
@@ -2,7 +2,7 @@ XCOMM $TOG: Imakefile /main/249 1997/12/11 11:18:14 kaleb $
/*
* Server Master Makefile
*/
-XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.180 2000/02/11 18:06:39 dawes Exp $
+XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.182 2000/02/29 15:24:15 tsi Exp $
#ifndef InstallXserverSetUID
#define InstallXserverSetUID NO
@@ -612,13 +612,14 @@ XF86IDRIVERLIB = $(XF86SRC)/input/LibraryTargetName(idriver)
#if !DoLoadableServer
XF86DRVOBJS = $(XF86SRC)/drivers/drvConf.o
XF86DRVLIBS = $(XF86DRIVERLIB) $(XF86RAMDACLIB) $(XF86DDCLIB) $(XF86I2CLIB) \
- $(XF86INT10LIB) $(XF86XAALIB) $(XF86VGAHWLIB) $(XF86FBDEVHWLIB) \
+ $(XF86XAALIB) $(XF86VGAHWLIB) $(XF86FBDEVHWLIB) \
$(XF8_32BPPLIB) $(XF8_16BPPLIB) $(XF24_32BPPLIB) \
$(XF4BPPLIB) $(XF1BPPLIB) $(XFSHADOWFBLIB) $(AFBLIB)
XF86IDRVOBJS = $(XF86SRC)/input/drvConf.o
XF86IDRVLIBS = $(XF86IDRIVERLIB)
XF86SCANLIB = $(XF86SRC)/scanpci/LibraryTargetName(scanpci)
-XF86LIBS = $(XF86INIT) $(XF86COMLIB) $(XF86RACLIB) $(XF86PARSLIB) $(XF86OSLIB)
+XF86LIBS = $(XF86INIT) $(XF86COMLIB) $(XF86RACLIB) $(XF86PARSLIB) \
+ $(XF86OSLIB) $(XF86INT10LIB)
#else
XF86LIBS = $(XF86INIT) $(XF86COMLIB) $(XF86PARSLIB) $(XF86OSLIB)
#endif
@@ -637,7 +638,7 @@ XF86SERVERLIBS = $(XF86DRVLIBS) $(XF86IDRVLIBS) $(XF86LIBS) $(XF86LOADERLIB) \
#if HasParallelMake
MakeMutex($(XF86SERVERSUBDIRS) $(XF86SERVERLIBS) $(XF86SERVERSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(XF86SERVERLIBS) $(XF86SERVERSYSLIBS):: $(XF86SERVERSUBDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -695,7 +696,7 @@ FBDEVSYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(FBDEVDIRS) $(FBDEVOBJS) $(FBDEVLIBS) $(FBDEVSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(FBDEVOBJS) $(XFBDEV) $(FBDEVLIBS) $(FBDEVSYSLIBS):: $(FBDEVDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -720,7 +721,7 @@ SAVAGESYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(SAVAGEDIRS) $(SAVAGEOBJS) $(SAVAGELIBS) $(SAVAGESYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(SAVAGEOBJS) $(XSAVAGE) $(SAVAGELIBS) $(SAVAGESYSLIBS):: $(SAVAGEDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -747,7 +748,7 @@ TRIDENTSYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(TRIDENTDIRS) $(TRIDENTLIBS) $(TRIDENTSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(TRIDENTOBJS) $(TRIDENTLIBS) $(TRIDENTSYSLIBS):: $(TRIDENTDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -772,7 +773,7 @@ SIS530SYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(SIS530DIRS) $(SIS530OBJS) $(SIS530LIBS) $(SIS530SYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(SIS530OBJS) $(SIS530LIBS) $(SIS530SYSLIBS):: $(SIS530DIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -797,7 +798,7 @@ TRIOSYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(TRIODIRS) $(TRIOOBJS) $(TRIOLIBS) $(TRIOSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(TRIOOBJS) $(TRIOLIBS) $(TRIOSYSLIBS):: $(TRIODIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -828,7 +829,7 @@ XCOMM
#if HasParallelMake
MakeMutex($(TS300DIRS) $(TS300OBJS) $(TS300LIBS) $(TS300SYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(TS300OBJS) $(TS300LIBS) $(TS300SYSLIBS):: $(TS300DIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -852,7 +853,7 @@ ITSYSYSLIBS = StdKdSysLibs
#if HasParallelMake
MakeMutex($(ITSYDIRS) $(ITSYOBJS) $(ITSYLIBS) $(ITSYSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(ITSYOBJS) $(ITSYLIBS) $(ITSYSYSLIBS):: $(ITSYDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -888,7 +889,7 @@ XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS)
#if HasParallelMake
MakeMutex($(XPSUBDIRS) $(XPOBJS) $(XPLIBS) $(XPSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(XPOBJS) $(XPLIBS) $(XPSYSLIBS):: $(XPSUBDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -920,7 +921,7 @@ XNESTSYSLIBS = $(FONTLIBS) $(LDPRELIBS) $(XLIB) $(SYSLIBS)
#if HasParallelMake
MakeMutex($(XNESTDIRS) $(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS):: $(XNESTDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
@@ -977,7 +978,7 @@ XVFBSYSLIBS = $(FONTLIBS) $(SYSLIBS)
#if HasParallelMake
MakeMutex($(XVFBDIRS) $(XVFBOBJS) $(XVFB) $(XVFBLIBS) $(XVFBSYSLIBS))
#endif
-#if HasGnuMake
+#if ForceServerRemake
$(XVFBOBJS) $(XVFB) $(XVFBLIBS) $(XVFBSYSLIBS):: $(XVFBDIRS)
@if [ -f $@ ]; then touch $@; fi
#endif
diff --git a/xc/programs/Xserver/Xext/fontcache.c b/xc/programs/Xserver/Xext/fontcache.c
index cd92f931f..cad7dcfba 100644
--- a/xc/programs/Xserver/Xext/fontcache.c
+++ b/xc/programs/Xserver/Xext/fontcache.c
@@ -25,9 +25,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: fontcache.c,v 1.1.1.1 2000/02/22 15:41:12 kem Exp $
+ * Id: fontcache.c,v 1.12 1999/01/31 13:47:45 akiyama Exp $
*/
-/* $XFree86: xc/programs/Xserver/Xext/fontcache.c,v 1.4 2000/02/18 16:16:51 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/fontcache.c,v 1.5 2000/02/23 20:29:39 dawes Exp $ */
/* THIS IS NOT AN X CONSORTIUM STANDARD */
diff --git a/xc/programs/Xserver/Xext/panoramiX.c b/xc/programs/Xserver/Xext/panoramiX.c
index 0faee97e8..35456cd4b 100644
--- a/xc/programs/Xserver/Xext/panoramiX.c
+++ b/xc/programs/Xserver/Xext/panoramiX.c
@@ -19,7 +19,7 @@
* or in FAR 52.227-19, as applicable. *
* *
*****************************************************************/
-/* $XFree86: xc/programs/Xserver/Xext/panoramiX.c,v 3.15 2000/01/22 01:59:03 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/panoramiX.c,v 3.17 2000/03/03 22:17:37 mvojkovi Exp $ */
#define NEED_REPLIES
#include <stdio.h>
@@ -405,6 +405,27 @@ PanoramiXChangeWindow(int ScrnNum, WindowPtr pWin)
return pWin;
}
+typedef struct _connect_callback_list {
+ void (*func)(void);
+ struct _connect_callback_list *next;
+} XineramaConnectionCallbackList;
+
+static XineramaConnectionCallbackList *ConnectionCallbackList = NULL;
+
+Bool
+XineramaRegisterConnectionBlockCallback(void (*func)(void))
+{
+ XineramaConnectionCallbackList *newlist;
+
+ if(!(newlist = xalloc(sizeof(XineramaConnectionCallbackList))))
+ return FALSE;
+
+ newlist->next = ConnectionCallbackList;
+ newlist->func = func;
+ ConnectionCallbackList = newlist;
+
+ return TRUE;
+}
/*
* PanoramiXExtensionInit():
@@ -698,6 +719,16 @@ Bool PanoramiXCreateConnectionBlock(void)
height_mult = root->pixHeight / old_height;
root->mmWidth *= width_mult;
root->mmHeight *= height_mult;
+
+ while(ConnectionCallbackList) {
+ pointer tmp;
+
+ tmp = (pointer)ConnectionCallbackList;
+ (*ConnectionCallbackList->func)();
+ ConnectionCallbackList = ConnectionCallbackList->next;
+ xfree(tmp);
+ }
+
return TRUE;
}
@@ -850,6 +881,8 @@ ProcPanoramiXQueryVersion (ClientPtr client)
if (client->swapped) {
swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n);
+ swaps(&rep.majorVersion, n);
+ swaps(&rep.minorVersion, n);
}
WriteToClient(client, sizeof (xPanoramiXQueryVersionReply), (char *)&rep);
return (client->noClientException);
@@ -935,6 +968,73 @@ ProcPanoramiXGetScreenSize(ClientPtr client)
}
+int
+ProcXineramaIsActive(ClientPtr client)
+{
+ REQUEST(xXineramaIsActiveReq);
+ xXineramaIsActiveReply rep;
+
+ REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
+
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+ rep.state = !noPanoramiXExtension;
+ if (client->swapped) {
+ register int n;
+ swaps (&rep.sequenceNumber, n);
+ swapl (&rep.length, n);
+ swapl (&rep.state, n);
+ }
+ WriteToClient (client, sizeof (xXineramaIsActiveReply), (char *) &rep);
+ return client->noClientException;
+}
+
+
+int
+ProcXineramaQueryScreens(ClientPtr client)
+{
+ REQUEST(xXineramaQueryScreensReq);
+ xXineramaQueryScreensReply rep;
+
+ REQUEST_SIZE_MATCH(xXineramaQueryScreensReq);
+
+ rep.type = X_Reply;
+ rep.sequenceNumber = client->sequence;
+ rep.number = (noPanoramiXExtension) ? 0 : PanoramiXNumScreens;
+ rep.length = rep.number * sz_XineramaScreenInfo >> 2;
+ if (client->swapped) {
+ register int n;
+ swaps (&rep.sequenceNumber, n);
+ swapl (&rep.length, n);
+ swapl (&rep.number, n);
+ }
+ WriteToClient (client, sizeof (xXineramaQueryScreensReply), (char *) &rep);
+
+ if(!noPanoramiXExtension) {
+ xXineramaScreenInfo scratch;
+ int i;
+
+ for(i = 0; i < PanoramiXNumScreens; i++) {
+ scratch.x_org = panoramiXdataPtr[i].x;
+ scratch.y_org = panoramiXdataPtr[i].y;
+ scratch.width = panoramiXdataPtr[i].width;
+ scratch.height = panoramiXdataPtr[i].height;
+
+ if(client->swapped) {
+ register int n;
+ swaps (&scratch.x_org, n);
+ swaps (&scratch.y_org, n);
+ swaps (&scratch.width, n);
+ swaps (&scratch.height, n);
+ }
+ WriteToClient (client, sz_XineramaScreenInfo, (char *) &scratch);
+ }
+ }
+
+ return client->noClientException;
+}
+
static int
ProcPanoramiXDispatch (ClientPtr client)
@@ -949,6 +1049,10 @@ ProcPanoramiXDispatch (ClientPtr client)
return ProcPanoramiXGetScreenCount(client);
case X_PanoramiXGetScreenSize:
return ProcPanoramiXGetScreenSize(client);
+ case X_XineramaIsActive:
+ return ProcXineramaIsActive(client);
+ case X_XineramaQueryScreens:
+ return ProcXineramaQueryScreens(client);
}
return BadRequest;
}
diff --git a/xc/programs/Xserver/Xext/panoramiXSwap.c b/xc/programs/Xserver/Xext/panoramiXSwap.c
index 0ccb67993..84b741a6c 100644
--- a/xc/programs/Xserver/Xext/panoramiXSwap.c
+++ b/xc/programs/Xserver/Xext/panoramiXSwap.c
@@ -19,7 +19,7 @@
* or in FAR 52.227-19, as applicable. *
* *
*****************************************************************/
-/* $XFree86: xc/programs/Xserver/Xext/panoramiXSwap.c,v 3.5 1999/07/18 08:34:27 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/panoramiXSwap.c,v 3.6 2000/02/27 23:15:30 mvojkovi Exp $ */
#include <stdio.h>
#include "X.h"
@@ -64,50 +64,38 @@ extern int (* ProcVector[256]) ();
PROC_EXTERN(ProcPanoramiXQueryVersion);
PROC_EXTERN(ProcPanoramiXGetState);
PROC_EXTERN(ProcPanoramiXGetScreenCount);
-PROC_EXTERN(PropPanoramiXGetScreenSize);
+PROC_EXTERN(ProcPanoramiXGetScreenSize);
+
+PROC_EXTERN(ProcXineramaIsActive);
+PROC_EXTERN(ProcXineramaQueryScreens);
static int
-#if NeedFunctionPrototypes
SProcPanoramiXQueryVersion (ClientPtr client)
-#else
-SProcPanoramiXQueryVersion (client)
- register ClientPtr client;
-#endif
{
- register int n;
- REQUEST(xPanoramiXQueryVersionReq);
+ REQUEST(xPanoramiXQueryVersionReq);
+ register int n;
- swaps(&stuff->length,n);
- REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq);
- return ProcPanoramiXQueryVersion(client);
+ swaps(&stuff->length,n);
+ REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq);
+ return ProcPanoramiXQueryVersion(client);
}
static int
-#if NeedFunctionPrototypes
SProcPanoramiXGetState(ClientPtr client)
-#else
-SProcPanoramiXGetState(client)
- register ClientPtr client;
-#endif
{
REQUEST(xPanoramiXGetStateReq);
- register int n;
+ register int n;
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
-
+ return ProcPanoramiXGetState(client);
}
static int
-#if NeedFunctionPrototypes
SProcPanoramiXGetScreenCount(ClientPtr client)
-#else
-SProcPanoramixGetScreenCount(client)
- register ClientPtr client;
-#endif
{
REQUEST(xPanoramiXGetScreenCountReq);
- register int n;
+ register int n;
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
@@ -115,29 +103,43 @@ SProcPanoramixGetScreenCount(client)
}
static int
-#if NeedFunctionPrototypes
SProcPanoramiXGetScreenSize(ClientPtr client)
-#else
-SProcPanoramiXGetScreenSize(client)
- register ClientPtr client;
-#endif
{
REQUEST(xPanoramiXGetScreenSizeReq);
- WindowPtr pWin;
- register int n;
+ register int n;
swaps (&stuff->length, n);
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
return ProcPanoramiXGetScreenSize(client);
}
+
+static int
+SProcXineramaIsActive(ClientPtr client)
+{
+ REQUEST(xXineramaIsActiveReq);
+ register int n;
+
+ swaps (&stuff->length, n);
+ REQUEST_SIZE_MATCH(xXineramaIsActiveReq);
+ return ProcXineramaIsActive(client);
+}
+
+
+static int
+SProcXineramaQueryScreens(ClientPtr client)
+{
+ REQUEST(xXineramaQueryScreensReq);
+ register int n;
+
+ swaps (&stuff->length, n);
+ REQUEST_SIZE_MATCH(xXineramaQueryScreensReq);
+ return ProcXineramaQueryScreens(client);
+}
+
+
int
-#if NeedFunctionPrototypes
SProcPanoramiXDispatch (ClientPtr client)
-#else
-SProcPanoramiXDispatch (client)
- ClientPtr client;
-#endif
{ REQUEST(xReq);
switch (stuff->data)
{
@@ -149,6 +151,10 @@ SProcPanoramiXDispatch (client)
return SProcPanoramiXGetScreenCount(client);
case X_PanoramiXGetScreenSize:
return SProcPanoramiXGetScreenSize(client);
- return BadRequest;
+ case X_XineramaIsActive:
+ return SProcXineramaIsActive(client);
+ case X_XineramaQueryScreens:
+ return SProcXineramaQueryScreens(client);
}
+ return BadRequest;
}
diff --git a/xc/programs/Xserver/Xext/panoramiXprocs.c b/xc/programs/Xserver/Xext/panoramiXprocs.c
index 71629fc85..48e962d89 100644
--- a/xc/programs/Xserver/Xext/panoramiXprocs.c
+++ b/xc/programs/Xserver/Xext/panoramiXprocs.c
@@ -22,7 +22,7 @@
/* Massively rewritten by Mark Vojkovich <markv@valinux.com> */
-/* $XFree86: xc/programs/Xserver/Xext/panoramiXprocs.c,v 3.21 2000/01/22 01:59:03 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/panoramiXprocs.c,v 3.22 2000/02/27 23:15:30 mvojkovi Exp $ */
#include <stdio.h>
#include "X.h"
@@ -1251,7 +1251,7 @@ int PanoramiXPolyLine(ClientPtr client)
memcpy((char *) origPts, (char *) &stuff[1], npoint * sizeof(xPoint));
FOR_NSCREENS_FORWARD(j){
- if(j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint));
+ if(j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint));
if (isRoot) {
int x_off = panoramiXdataPtr[j].x;
@@ -1382,7 +1382,8 @@ int PanoramiXPolyRectangle(ClientPtr client)
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
- if(x_off || x_off) {
+
+ if(x_off || y_off) {
xRectangle *rects = (xRectangle *) &stuff[1];
for (i = nrects; i--; rects++) {
@@ -1390,7 +1391,7 @@ int PanoramiXPolyRectangle(ClientPtr client)
rects->y -= y_off;
}
}
- }
+ }
stuff->drawable = draw->info[j].id;
stuff->gc = gc->info[j].id;
diff --git a/xc/programs/Xserver/Xext/panoramiXsrv.h b/xc/programs/Xserver/Xext/panoramiXsrv.h
index 0020cd2eb..c12986093 100644
--- a/xc/programs/Xserver/Xext/panoramiXsrv.h
+++ b/xc/programs/Xserver/Xext/panoramiXsrv.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/panoramiXsrv.h,v 1.4 2000/01/22 01:59:03 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/panoramiXsrv.h,v 1.5 2000/03/03 22:17:37 mvojkovi Exp $ */
#ifndef _PANORAMIXSRV_H_
#define _PANORAMIXSRV_H_
@@ -15,6 +15,8 @@ extern Bool PanoramiXCreateConnectionBlock(void);
extern PanoramiXRes * PanoramiXFindIDByScrnum(RESTYPE, XID, int);
extern PanoramiXRes * PanoramiXFindIDOnAnyScreen(RESTYPE, XID);
extern WindowPtr PanoramiXChangeWindow(int, WindowPtr);
+extern Bool XineramaRegisterConnectionBlockCallback(void (*func)(void));
+
extern RegionRec XineramaScreenRegions[MAXSCREENS];
extern unsigned long XRC_DRAWABLE;
diff --git a/xc/programs/Xserver/Xext/shape.c b/xc/programs/Xserver/Xext/shape.c
index 8012f944f..a7819c1e0 100644
--- a/xc/programs/Xserver/Xext/shape.c
+++ b/xc/programs/Xserver/Xext/shape.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.10 2000/01/02 00:18:20 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.11 2000/03/03 20:50:25 mvojkovi Exp $ */
/************************************************************
Copyright 1989, 1998 The Open Group
@@ -375,7 +375,7 @@ ProcPanoramiXShapeRectangles (client)
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
- return BadRequest;
+ return BadWindow;
FOR_NSCREENS(j) {
stuff->dest = win->info[j].id;
@@ -464,15 +464,19 @@ ProcPanoramiXShapeMask (client)
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
- return BadRequest;
+ return BadWindow;
- if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
+ if(stuff->src != None) {
+ if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_PIXMAP, SecurityReadAccess)))
- return BadRequest;
+ return BadPixmap;
+ } else
+ pmap = NULL;
FOR_NSCREENS(j) {
stuff->dest = win->info[j].id;
- stuff->src = pmap->info[j].id;
+ if(pmap)
+ stuff->src = pmap->info[j].id;
result = ProcShapeMask (client);
BREAK_IF(result != Success);
}
@@ -575,11 +579,11 @@ ProcPanoramiXShapeCombine (client)
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
- return BadRequest;
+ return BadWindow;
if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_WINDOW, SecurityReadAccess)))
- return BadRequest;
+ return BadWindow;
FOR_NSCREENS(j) {
stuff->dest = win->info[j].id;
@@ -644,7 +648,7 @@ ProcPanoramiXShapeOffset (client)
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
- return BadRequest;
+ return BadWindow;
FOR_NSCREENS(j) {
stuff->dest = win->info[j].id;
@@ -1050,37 +1054,29 @@ ProcShapeDispatch (client)
if ( !noPanoramiXExtension )
return ProcPanoramiXShapeRectangles (client);
else
- return ProcShapeRectangles (client);
-#else
- return ProcShapeRectangles (client);
#endif
+ return ProcShapeRectangles (client);
case X_ShapeMask:
#ifdef PANORAMIX
if ( !noPanoramiXExtension )
return ProcPanoramiXShapeMask (client);
else
- return ProcShapeMask (client);
-#else
- return ProcShapeMask (client);
#endif
+ return ProcShapeMask (client);
case X_ShapeCombine:
#ifdef PANORAMIX
if ( !noPanoramiXExtension )
return ProcPanoramiXShapeCombine (client);
else
- return ProcShapeCombine (client);
-#else
- return ProcShapeCombine (client);
#endif
+ return ProcShapeCombine (client);
case X_ShapeOffset:
#ifdef PANORAMIX
if ( !noPanoramiXExtension )
return ProcPanoramiXShapeOffset (client);
else
- return ProcShapeOffset (client);
-#else
- return ProcShapeOffset (client);
#endif
+ return ProcShapeOffset (client);
case X_ShapeQueryExtents:
return ProcShapeQueryExtents (client);
case X_ShapeSelectInput:
diff --git a/xc/programs/Xserver/Xext/shm.c b/xc/programs/Xserver/Xext/shm.c
index b8f206bf0..8352f2ccb 100644
--- a/xc/programs/Xserver/Xext/shm.c
+++ b/xc/programs/Xserver/Xext/shm.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.20 2000/01/02 00:18:21 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.21 2000/03/05 16:59:01 dawes Exp $ */
/************************************************************
Copyright 1989, 1998 The Open Group
@@ -766,6 +766,7 @@ CreatePmap:
}
xfree(newPix);
} else {
+ shmdesc->refcnt++;
AddResource(stuff->pid, ShmPixType, shmdesc);
AddResource(stuff->pid, XRT_PIXMAP, newPix);
}
diff --git a/xc/programs/Xserver/Xext/xf86bigfont.c b/xc/programs/Xserver/Xext/xf86bigfont.c
index 5cc115fc3..4669824c9 100644
--- a/xc/programs/Xserver/Xext/xf86bigfont.c
+++ b/xc/programs/Xserver/Xext/xf86bigfont.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/xf86bigfont.c,v 1.4 2000/02/11 18:06:40 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/xf86bigfont.c,v 1.5 2000/02/29 03:09:07 dawes Exp $ */
/*
* BIGFONT extension for sharing font metrics between clients (if possible)
* and for transmitting font metrics to clients in a compressed form.
@@ -40,7 +40,10 @@
#ifdef CSRG_BASED
#include <sys/param.h>
#endif
-#ifdef linux
+#if defined(linux) && !defined(__GNU_LIBRARY__)
+/* Linux libc4 and libc5 only (because glibc doesn't include kernel headers):
+ Linux 2.0.x and 2.2.x define SHMLBA as PAGE_SIZE, but forget to define
+ PAGE_SIZE. It is defined in <asm/page.h>. */
#include <asm/page.h>
#endif
#ifdef SVR4
@@ -53,6 +56,8 @@
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/stat.h>
+#include <stdlib.h>
+#include <time.h>
#include <errno.h>
#endif
@@ -85,6 +90,11 @@ static unsigned char XF86BigfontReqCode;
#ifdef HAS_SHM
+/* A random signature, transmitted to the clients so they can verify that the
+ shared memory segment they are attaching to was really established by the
+ X server they are talking to. */
+static CARD32 signature;
+
/* Index for additional information stored in a FontRec's devPrivates array. */
static int FontShmdescIndex;
@@ -147,7 +157,14 @@ XFree86BigfontExtensionInit()
return;
}
#endif
+
+ srand((unsigned int) time(NULL));
+ signature = ((unsigned int) (65536.0/(RAND_MAX+1.0) * rand()) << 16)
+ + (unsigned int) (65536.0/(RAND_MAX+1.0) * rand());
+ /* fprintf(stderr, "signature = 0x%08X\n", signature); */
+
FontShmdescIndex = AllocateFontPrivateIndex();
+
pagesize = SHMLBA;
#endif
}
@@ -301,7 +318,14 @@ ProcXF86BigfontQueryVersion(
reply.minorVersion = XF86BIGFONT_MINOR_VERSION;
reply.uid = geteuid();
reply.gid = getegid();
- reply.capabilities = 0; /* may add some bits here in future versions */
+ reply.signature = signature;
+ reply.capabilities =
+#ifdef HAS_SHM
+ (LocalClient(client) && !client->swapped ? XF86Bigfont_CAP_LocalShm : 0)
+#else
+ 0
+#endif
+ ; /* may add more bits here in future versions */
if (client->swapped) {
char tmp;
swaps(&reply.sequenceNumber, tmp);
@@ -310,6 +334,7 @@ ProcXF86BigfontQueryVersion(
swaps(&reply.minorVersion, tmp);
swapl(&reply.uid, tmp);
swapl(&reply.gid, tmp);
+ swapl(&reply.signature, tmp);
}
WriteToClient(client,
sizeof(xXF86BigfontQueryVersionReply), (char *)&reply);
@@ -343,6 +368,7 @@ ProcXF86BigfontQueryFont(
{
FontPtr pFont;
REQUEST(xXF86BigfontQueryFontReq);
+ CARD32 stuff_flags;
xCharInfo* pmax;
xCharInfo* pmin;
int nCharInfos;
@@ -357,7 +383,20 @@ ProcXF86BigfontQueryFont(
CARD16* pUniqIndex2Index;
CARD32 nUniqCharInfos;
+#if 0
REQUEST_SIZE_MATCH(xXF86BigfontQueryFontReq);
+#else
+ switch (client->req_len) {
+ case 2: /* client with version 1.0 libX11 */
+ stuff_flags = (LocalClient(client) && !client->swapped ? XF86Bigfont_FLAGS_Shm : 0);
+ break;
+ case 3: /* client with version 1.1 libX11 */
+ stuff_flags = stuff->flags;
+ break;
+ default:
+ return BadLength;
+ }
+#endif
client->errorValue = stuff->id; /* EITHER font or gc */
pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT,
SecurityReadAccess);
@@ -392,11 +431,12 @@ ProcXF86BigfontQueryFont(
pDesc = (ShmDescPtr) FontGetPrivate(pFont, FontShmdescIndex);
if (pDesc) {
pCI = (xCharInfo *) pDesc->attach_addr;
- if (LocalClient(client) && !client->swapped)
+ if (stuff_flags & XF86Bigfont_FLAGS_Shm)
shmid = pDesc->shmid;
} else {
- if (LocalClient(client) && !client->swapped)
- pDesc = shmalloc(nCharInfos * sizeof(xCharInfo));
+ if (stuff_flags & XF86Bigfont_FLAGS_Shm)
+ pDesc = shmalloc(nCharInfos * sizeof(xCharInfo)
+ + sizeof(CARD32));
if (pDesc) {
pCI = (xCharInfo *) pDesc->attach_addr;
shmid = pDesc->shmid;
@@ -440,6 +480,7 @@ ProcXF86BigfontQueryFont(
}
#ifdef HAS_SHM
if (pDesc) {
+ *(CARD32 *)(pCI + nCharInfos) = signature;
if (!FontSetPrivate(pFont, FontShmdescIndex, pDesc)) {
shmdealloc(pDesc);
return BadAlloc;
diff --git a/xc/programs/Xserver/fb/Imakefile b/xc/programs/Xserver/fb/Imakefile
index 272dfdb22..7b6a8f2a2 100644
--- a/xc/programs/Xserver/fb/Imakefile
+++ b/xc/programs/Xserver/fb/Imakefile
@@ -1,7 +1,7 @@
-XCOMM $XFree86: xc/programs/Xserver/fb/Imakefile,v 1.3 2000/02/14 19:20:26 dawes Exp $
+XCOMM $XFree86: xc/programs/Xserver/fb/Imakefile,v 1.4 2000/02/23 20:29:40 dawes Exp $
XCOMM
XCOMM
-XCOMM $Id: Imakefile,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+XCOMM Id: Imakefile,v 1.1 1999/11/02 03:54:44 keithp Exp $
#define IHaveModule
#include <Server.tmpl>
diff --git a/xc/programs/Xserver/fb/fb.h b/xc/programs/Xserver/fb/fb.h
index d13b299d0..4a508f0ab 100644
--- a/xc/programs/Xserver/fb/fb.h
+++ b/xc/programs/Xserver/fb/fb.h
@@ -1,5 +1,5 @@
/*
- * $Id: fb.h,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fb.h,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fb.h,v 1.11 2000/02/18 16:23:12 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fb.h,v 1.13 2000/03/01 00:25:14 dawes Exp $ */
#ifndef _FB_H_
#define _FB_H_
@@ -1358,6 +1358,12 @@ fbZeroLine (DrawablePtr pDrawable,
DDXPointPtr ppt);
void
+fbZeroSegment (DrawablePtr pDrawable,
+ GCPtr pGC,
+ int nseg,
+ xSegment *pSegs);
+
+void
fbPolyLine (DrawablePtr pDrawable,
GCPtr pGC,
int mode,
diff --git a/xc/programs/Xserver/fb/fballpriv.c b/xc/programs/Xserver/fb/fballpriv.c
index 97f649158..e1ae7b663 100644
--- a/xc/programs/Xserver/fb/fballpriv.c
+++ b/xc/programs/Xserver/fb/fballpriv.c
@@ -1,5 +1,5 @@
/*
- * $Id: fballpriv.c,v 1.1.1.1 2000/01/06 12:56:51 faith Exp $
+ * Id: fballpriv.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fballpriv.c,v 1.2 1999/12/30 02:33:58 robin Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fballpriv.c,v 1.3 2000/02/23 20:29:41 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbarc.c b/xc/programs/Xserver/fb/fbarc.c
index 056d63cdd..1ceebbf0f 100644
--- a/xc/programs/Xserver/fb/fbarc.c
+++ b/xc/programs/Xserver/fb/fbarc.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbarc.c,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fbarc.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbarc.c,v 1.2 2000/02/14 19:20:26 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbarc.c,v 1.3 2000/02/23 20:29:41 dawes Exp $ */
#include "fb.h"
#include "mizerarc.h"
diff --git a/xc/programs/Xserver/fb/fbbits.c b/xc/programs/Xserver/fb/fbbits.c
index 37429630b..b1c123d21 100644
--- a/xc/programs/Xserver/fb/fbbits.c
+++ b/xc/programs/Xserver/fb/fbbits.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbbits.c,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fbbits.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbbits.c,v 1.5 2000/02/17 14:16:22 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbbits.c,v 1.6 2000/02/23 20:29:41 dawes Exp $ */
#include "fb.h"
#include "miline.h"
diff --git a/xc/programs/Xserver/fb/fbbits.h b/xc/programs/Xserver/fb/fbbits.h
index 58fd3fd20..368989d98 100644
--- a/xc/programs/Xserver/fb/fbbits.h
+++ b/xc/programs/Xserver/fb/fbbits.h
@@ -1,5 +1,5 @@
/*
- * $Id: fbbits.h,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fbbits.h,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbbits.h,v 1.6 2000/02/14 19:20:27 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbbits.h,v 1.8 2000/03/01 00:25:14 dawes Exp $ */
/*
* This file defines functions for drawing some primitives using
@@ -140,9 +140,8 @@ BRESDASH (DrawablePtr pDrawable,
UNIT *bits;
FbStride bitsStride;
FbStride majorStep, minorStep;
- BITS xor = (BITS) pPriv->xor;
- BITS bgxor = (BITS) pPriv->bgxor;
- unsigned char *dash, *lastDash;
+ BITS xorfg, xorbg;
+ unsigned char *dash, *lastDash, *firstDash;
int dashlen;
Bool even;
Bool doOdd;
@@ -150,17 +149,19 @@ BRESDASH (DrawablePtr pDrawable,
fbGetDrawable (pDrawable, dst, dstStride, dstBpp);
doOdd = pGC->lineStyle == LineDoubleDash;
even = TRUE;
- dash = pGC->dash;
- lastDash = dash + pGC->numInDashList;
- dashOffset %= pPriv->dashLength;
- while (dashOffset >= *dash)
+ xorfg = (BITS) pPriv->xor;
+ xorbg = (BITS) pPriv->bgxor;
+ firstDash = pGC->dash;
+ lastDash = firstDash + pGC->numInDashList;
+ dash = firstDash;
+ while (dashOffset >= (dashlen = *dash++))
{
- dashOffset -= *dash++;
+ dashOffset -= dashlen;
if (dash == lastDash)
- dash = pGC->dash;
- even = !even;
+ dash = firstDash;
+ even ^= 1;
}
- dashlen = *dash - dashOffset;
+ dashlen -= dashOffset;
bits = ((UNIT *) (dst + (y1 * dstStride))) + x1 * MUL;
bitsStride = dstStride * (sizeof (FbBits) / sizeof (UNIT));
if (signdy < 0)
@@ -175,25 +176,92 @@ BRESDASH (DrawablePtr pDrawable,
majorStep = bitsStride;
minorStep = signdx * MUL;
}
- while (len--)
+ if (dashlen >= len)
+ dashlen = len;
+ if (doOdd)
{
- if (even)
- STORE(bits,xor);
- else if (doOdd)
- STORE(bits,bgxor);
- bits += majorStep;
- e += e1;
- if (e >= 0)
+ if (!even)
+ goto doubleOdd;
+ for (;;)
{
- bits += minorStep;
- e += e3;
+ len -= dashlen;
+ while (dashlen--)
+ {
+ STORE(bits,xorfg);
+ bits += majorStep;
+ if ((e += e1) >= 0)
+ {
+ e += e3;
+ bits += minorStep;
+ }
+ }
+ if (!len)
+ break;
+ dashlen = *dash++;
+ if (dash == lastDash)
+ dash = firstDash;
+ if (dashlen >= len)
+ dashlen = len;
+doubleOdd:
+ len -= dashlen;
+ while (dashlen--)
+ {
+ STORE(bits,xorbg);
+ bits += majorStep;
+ if ((e += e1) >= 0)
+ {
+ e += e3;
+ bits += minorStep;
+ }
+ }
+ if (!len)
+ break;
+ dashlen = *dash++;
+ /* numInDashList is even, no need to check here */
+ if (dashlen >= len)
+ dashlen = len;
}
- if (!--dashlen)
+ }
+ else
+ {
+ if (!even)
+ goto onOffOdd;
+ for (;;)
{
- if (++dash == lastDash)
- dash = pGC->dash;
- dashlen = *dash;
- even = !even;
+ len -= dashlen;
+ while (dashlen--)
+ {
+ STORE(bits,xorfg);
+ bits += majorStep;
+ if ((e += e1) >= 0)
+ {
+ e += e3;
+ bits += minorStep;
+ }
+ }
+ if (!len)
+ break;
+ dashlen = *dash++;
+ if (dash == lastDash)
+ dash = firstDash;
+ if (dashlen >= len)
+ dashlen = len;
+onOffOdd:
+ len -= dashlen;
+ while (dashlen--)
+ {
+ bits += majorStep;
+ if ((e += e1) >= 0)
+ {
+ e += e3;
+ bits += minorStep;
+ }
+ }
+ if (!len)
+ break;
+ dashlen = *dash++;
+ if (dashlen >= len)
+ dashlen = len;
}
}
}
@@ -215,7 +283,8 @@ DOTS (FbBits *dst,
INT32 *pts = (INT32 *) ptsOrig;
UNIT *bits = (UNIT *) dst;
UNIT *point;
- BITS fg = (BITS) xor;
+ BITS bxor = (BITS) xor;
+ BITS band = (BITS) and;
FbStride bitsStride = dstStride * (sizeof (FbBits) / sizeof (UNIT));
INT32 ul, lr;
INT32 off;
@@ -228,13 +297,28 @@ DOTS (FbBits *dst,
bits += bitsStride * yoff + xoff * MUL;
- while (npt--)
+ if (and == 0)
+ {
+ while (npt--)
+ {
+ pt = *pts++;
+ if (!isClipped(pt,ul,lr))
+ {
+ point = bits + intToY(pt) * bitsStride + intToX(pt) * MUL;
+ STORE(point,bxor);
+ }
+ }
+ }
+ else
{
- pt = *pts++;
- if (!isClipped(pt,ul,lr))
+ while (npt--)
{
- point = bits + intToY(pt) * bitsStride + intToX(pt) * MUL;
- STORE(point,fg);
+ pt = *pts++;
+ if (!isClipped(pt,ul,lr))
+ {
+ point = bits + intToY(pt) * bitsStride + intToX(pt) * MUL;
+ RROP(point,band,bxor);
+ }
}
}
}
@@ -282,10 +366,20 @@ ARC (FbBits *dst,
if (!(arc->width & 1))
{
- if (mask & 2)
- ARCRROP(yorgp + info.xorgo);
- if (mask & 8)
- ARCRROP(yorgop + info.xorgo);
+ if (andBits == 0)
+ {
+ if (mask & 2)
+ ARCCOPY(yorgp + info.xorgo);
+ if (mask & 8)
+ ARCCOPY(yorgop + info.xorgo);
+ }
+ else
+ {
+ if (mask & 2)
+ ARCRROP(yorgp + info.xorgo);
+ if (mask & 8)
+ ARCRROP(yorgop + info.xorgo);
+ }
}
if (!info.end.x || !info.end.y)
{
@@ -405,16 +499,33 @@ ARC (FbBits *dst,
}
if ((x == info.start.x) || (y == info.start.y))
mask = info.start.mask;
- if (mask & 1)
- ARCRROP(yorgp + yoffset + info.xorg + x * MUL);
- if (mask & 4)
- ARCRROP(yorgop - yoffset + info.xorgo - x * MUL);
- if (arc->height & 1)
+ if (andBits == 0)
{
- if (mask & 2)
- ARCRROP(yorgp + yoffset + info.xorgo - x * MUL);
- if (mask & 8)
- ARCRROP(yorgop - yoffset + info.xorg + x * MUL);
+ if (mask & 1)
+ ARCCOPY(yorgp + yoffset + info.xorg + x * MUL);
+ if (mask & 4)
+ ARCCOPY(yorgop - yoffset + info.xorgo - x * MUL);
+ if (arc->height & 1)
+ {
+ if (mask & 2)
+ ARCCOPY(yorgp + yoffset + info.xorgo - x * MUL);
+ if (mask & 8)
+ ARCCOPY(yorgop - yoffset + info.xorg + x * MUL);
+ }
+ }
+ else
+ {
+ if (mask & 1)
+ ARCRROP(yorgp + yoffset + info.xorg + x * MUL);
+ if (mask & 4)
+ ARCRROP(yorgop - yoffset + info.xorgo - x * MUL);
+ if (arc->height & 1)
+ {
+ if (mask & 2)
+ ARCRROP(yorgp + yoffset + info.xorgo - x * MUL);
+ if (mask & 8)
+ ARCRROP(yorgop - yoffset + info.xorg + x * MUL);
+ }
}
}
#undef ARCCOPY
diff --git a/xc/programs/Xserver/fb/fbblt.c b/xc/programs/Xserver/fb/fbblt.c
index 39a80744c..2fbe0773c 100644
--- a/xc/programs/Xserver/fb/fbblt.c
+++ b/xc/programs/Xserver/fb/fbblt.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbblt.c,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fbblt.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbblt.c,v 1.5 2000/02/14 19:20:27 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbblt.c,v 1.6 2000/02/23 20:29:42 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbbltone.c b/xc/programs/Xserver/fb/fbbltone.c
index a6bf8a31e..169aec4cc 100644
--- a/xc/programs/Xserver/fb/fbbltone.c
+++ b/xc/programs/Xserver/fb/fbbltone.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbbltone.c,v 1.1.1.2 2000/02/22 15:42:19 kem Exp $
+ * Id: fbbltone.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbbltone.c,v 1.6 2000/02/14 19:20:27 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbbltone.c,v 1.7 2000/02/23 20:29:42 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbbstore.c b/xc/programs/Xserver/fb/fbbstore.c
index 065bc6559..07a6400a8 100644
--- a/xc/programs/Xserver/fb/fbbstore.c
+++ b/xc/programs/Xserver/fb/fbbstore.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbbstore.c,v 1.1.1.1 2000/01/06 12:56:52 faith Exp $
+ * Id: fbbstore.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbbstore.c,v 1.1 1999/11/19 13:53:42 hohndel Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbbstore.c,v 1.2 2000/02/23 20:29:42 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbcopy.c b/xc/programs/Xserver/fb/fbcopy.c
index 2028ea698..9a34455fb 100644
--- a/xc/programs/Xserver/fb/fbcopy.c
+++ b/xc/programs/Xserver/fb/fbcopy.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbcopy.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbcopy.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.3 2000/02/14 19:20:28 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.4 2000/02/23 20:29:43 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbfill.c b/xc/programs/Xserver/fb/fbfill.c
index 7fd5cc5e7..51d5f654e 100644
--- a/xc/programs/Xserver/fb/fbfill.c
+++ b/xc/programs/Xserver/fb/fbfill.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbfill.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbfill.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbfill.c,v 1.2 2000/01/21 15:06:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbfill.c,v 1.3 2000/02/23 20:29:43 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbfillrect.c b/xc/programs/Xserver/fb/fbfillrect.c
index 702299858..d0468e041 100644
--- a/xc/programs/Xserver/fb/fbfillrect.c
+++ b/xc/programs/Xserver/fb/fbfillrect.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbfillrect.c,v 1.1.1.1 2000/01/06 12:56:53 faith Exp $
+ * Id: fbfillrect.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbfillrect.c,v 1.1 1999/11/19 13:53:43 hohndel Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbfillrect.c,v 1.2 2000/02/23 20:29:43 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbfillsp.c b/xc/programs/Xserver/fb/fbfillsp.c
index 3a7321960..29c3a36b0 100644
--- a/xc/programs/Xserver/fb/fbfillsp.c
+++ b/xc/programs/Xserver/fb/fbfillsp.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbfillsp.c,v 1.1.1.1 2000/01/06 12:56:53 faith Exp $
+ * Id: fbfillsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbfillsp.c,v 1.1 1999/11/19 13:53:43 hohndel Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbfillsp.c,v 1.2 2000/02/23 20:29:43 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbgc.c b/xc/programs/Xserver/fb/fbgc.c
index d4251ab6b..7cd14833b 100644
--- a/xc/programs/Xserver/fb/fbgc.c
+++ b/xc/programs/Xserver/fb/fbgc.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbgc.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbgc.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbgc.c,v 1.5 2000/02/14 19:20:28 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbgc.c,v 1.6 2000/02/23 20:29:44 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbgetsp.c b/xc/programs/Xserver/fb/fbgetsp.c
index 5520ded14..80299d3ab 100644
--- a/xc/programs/Xserver/fb/fbgetsp.c
+++ b/xc/programs/Xserver/fb/fbgetsp.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbgetsp.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbgetsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbgetsp.c,v 1.3 2000/02/14 19:20:29 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbgetsp.c,v 1.4 2000/02/23 20:29:44 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbglyph.c b/xc/programs/Xserver/fb/fbglyph.c
index 3851f5eac..842ee8fcf 100644
--- a/xc/programs/Xserver/fb/fbglyph.c
+++ b/xc/programs/Xserver/fb/fbglyph.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbglyph.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbglyph.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbglyph.c,v 1.6 2000/02/18 16:23:13 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbglyph.c,v 1.7 2000/02/23 20:29:44 dawes Exp $ */
#include "fb.h"
#include "fontstruct.h"
diff --git a/xc/programs/Xserver/fb/fbimage.c b/xc/programs/Xserver/fb/fbimage.c
index fcffc7584..d9a467f38 100644
--- a/xc/programs/Xserver/fb/fbimage.c
+++ b/xc/programs/Xserver/fb/fbimage.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbimage.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbimage.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbimage.c,v 1.4 2000/02/14 19:20:29 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbimage.c,v 1.5 2000/02/23 20:29:45 dawes Exp $ */
#include "fb.h"
#ifdef XFree86LOADER
diff --git a/xc/programs/Xserver/fb/fbline.c b/xc/programs/Xserver/fb/fbline.c
index a260425cf..999755d73 100644
--- a/xc/programs/Xserver/fb/fbline.c
+++ b/xc/programs/Xserver/fb/fbline.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbline.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbline.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbline.c,v 1.3 2000/02/14 19:20:29 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbline.c,v 1.6 2000/03/07 01:37:33 dawes Exp $ */
#include "fb.h"
@@ -68,6 +68,30 @@ fbZeroLine (DrawablePtr pDrawable,
}
void
+fbZeroSegment (DrawablePtr pDrawable,
+ GCPtr pGC,
+ int nseg,
+ xSegment *pSegs)
+{
+ int dashOffset;
+ int x, y;
+ Bool drawLast = pGC->capStyle != CapNotLast;
+
+ x = pDrawable->x;
+ y = pDrawable->y;
+ while (nseg--)
+ {
+ dashOffset = 0;
+ fbSegment (pDrawable, pGC,
+ pSegs->x1 + x, pSegs->y1 + y,
+ pSegs->x2 + x, pSegs->y2 + y,
+ drawLast,
+ &dashOffset);
+ pSegs++;
+ }
+}
+
+void
fbFixCoordModePrevious (int npt,
DDXPointPtr ppt)
{
@@ -130,22 +154,28 @@ fbPolySegment (DrawablePtr pDrawable,
{
void (*seg) (DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment *pseg);
- seg = miPolySegment;
-#ifndef FBNOPIXADDR
- if (pGC->lineWidth == 0 &&
- pGC->fillStyle == FillSolid &&
- pGC->lineStyle == LineSolid &&
- REGION_NUM_RECTS (fbGetCompositeClip(pGC)) == 1)
+ if (pGC->lineWidth == 0)
{
- switch (pDrawable->bitsPerPixel) {
- case 8: seg = fbPolySegment8; break;
- case 16: seg = fbPolySegment16; break;
+ seg = fbZeroSegment;
+#ifndef FBNOPIXADDR
+ if (pGC->fillStyle == FillSolid &&
+ pGC->lineStyle == LineSolid &&
+ REGION_NUM_RECTS (fbGetCompositeClip(pGC)) == 1)
+ {
+ switch (pDrawable->bitsPerPixel) {
+ case 8: seg = fbPolySegment8; break;
+ case 16: seg = fbPolySegment16; break;
#ifdef FB_24BIT
- case 24: seg = fbPolySegment24; break;
+ case 24: seg = fbPolySegment24; break;
#endif
- case 32: seg = fbPolySegment32; break;
+ case 32: seg = fbPolySegment32; break;
+ }
}
- }
#endif
+ }
+ else
+ {
+ seg = miPolySegment;
+ }
(*seg) (pDrawable, pGC, nseg, pseg);
}
diff --git a/xc/programs/Xserver/fb/fbpixmap.c b/xc/programs/Xserver/fb/fbpixmap.c
index 3a892d8b6..eb2fe6949 100644
--- a/xc/programs/Xserver/fb/fbpixmap.c
+++ b/xc/programs/Xserver/fb/fbpixmap.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbpixmap.c,v 1.1.1.1 2000/01/06 12:56:53 faith Exp $
+ * Id: fbpixmap.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbpixmap.c,v 1.2 1999/12/27 01:26:21 robin Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbpixmap.c,v 1.3 2000/02/23 20:29:45 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbpoint.c b/xc/programs/Xserver/fb/fbpoint.c
index 421d9cd8f..537c95b2b 100644
--- a/xc/programs/Xserver/fb/fbpoint.c
+++ b/xc/programs/Xserver/fb/fbpoint.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbpoint.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbpoint.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbpoint.c,v 1.4 2000/02/14 19:20:30 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbpoint.c,v 1.6 2000/03/01 00:25:15 dawes Exp $ */
#include "fb.h"
@@ -139,16 +139,13 @@ fbPolyPoint (DrawablePtr pDrawable,
xor = pPriv->xor;
dots = fbDots;
#ifndef FBNOPIXADDR
- if (and == 0)
- {
- switch (dstBpp) {
- case 8: dots = fbDots8; break;
- case 16: dots = fbDots16; break;
+ switch (dstBpp) {
+ case 8: dots = fbDots8; break;
+ case 16: dots = fbDots16; break;
#ifdef FB_24BIT
- case 24: dots = fbDots24; break;
+ case 24: dots = fbDots24; break;
#endif
- case 32: dots = fbDots32; break;
- }
+ case 32: dots = fbDots32; break;
}
#endif
for (nBox = REGION_NUM_RECTS (pClip), pBox = REGION_RECTS (pClip);
diff --git a/xc/programs/Xserver/fb/fbpush.c b/xc/programs/Xserver/fb/fbpush.c
index f187c1b1a..8c3f7f7ea 100644
--- a/xc/programs/Xserver/fb/fbpush.c
+++ b/xc/programs/Xserver/fb/fbpush.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbpush.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbpush.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbpush.c,v 1.3 2000/02/14 19:20:30 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbpush.c,v 1.4 2000/02/23 20:29:46 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbrop.h b/xc/programs/Xserver/fb/fbrop.h
index 574f837d5..9481be680 100644
--- a/xc/programs/Xserver/fb/fbrop.h
+++ b/xc/programs/Xserver/fb/fbrop.h
@@ -1,5 +1,5 @@
/*
- * $Id: fbrop.h,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbrop.h,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbrop.h,v 1.3 2000/02/14 19:20:30 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbrop.h,v 1.4 2000/02/23 20:29:46 dawes Exp $ */
#ifndef _FBROP_H_
#define _FBROP_H_
diff --git a/xc/programs/Xserver/fb/fbscreen.c b/xc/programs/Xserver/fb/fbscreen.c
index 69cdc8341..90e812e1e 100644
--- a/xc/programs/Xserver/fb/fbscreen.c
+++ b/xc/programs/Xserver/fb/fbscreen.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbscreen.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbscreen.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbscreen.c,v 1.7 2000/02/14 19:20:30 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbscreen.c,v 1.8 2000/02/23 20:29:46 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbseg.c b/xc/programs/Xserver/fb/fbseg.c
index 49f3a750f..85c927d29 100644
--- a/xc/programs/Xserver/fb/fbseg.c
+++ b/xc/programs/Xserver/fb/fbseg.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbseg.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbseg.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbseg.c,v 1.4 2000/02/14 19:20:31 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbseg.c,v 1.5 2000/02/23 20:29:46 dawes Exp $ */
#include "fb.h"
#include "miline.h"
diff --git a/xc/programs/Xserver/fb/fbsetsp.c b/xc/programs/Xserver/fb/fbsetsp.c
index a946499be..4bddf8560 100644
--- a/xc/programs/Xserver/fb/fbsetsp.c
+++ b/xc/programs/Xserver/fb/fbsetsp.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbsetsp.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbsetsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbsetsp.c,v 1.2 2000/02/14 19:20:31 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbsetsp.c,v 1.3 2000/02/23 20:29:47 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbsolid.c b/xc/programs/Xserver/fb/fbsolid.c
index 728c1851b..23897ca66 100644
--- a/xc/programs/Xserver/fb/fbsolid.c
+++ b/xc/programs/Xserver/fb/fbsolid.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbsolid.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbsolid.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbsolid.c,v 1.5 2000/02/14 19:20:31 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbsolid.c,v 1.6 2000/02/23 20:29:47 dawes Exp $ */
#define FbSelectPart(xor,o,t) xor
diff --git a/xc/programs/Xserver/fb/fbstipple.c b/xc/programs/Xserver/fb/fbstipple.c
index ea0546d2f..f2e7907e5 100644
--- a/xc/programs/Xserver/fb/fbstipple.c
+++ b/xc/programs/Xserver/fb/fbstipple.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbstipple.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbstipple.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbstipple.c,v 1.5 2000/02/14 19:20:31 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbstipple.c,v 1.6 2000/02/23 20:29:47 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbtile.c b/xc/programs/Xserver/fb/fbtile.c
index 1bba5f703..ed447f8d3 100644
--- a/xc/programs/Xserver/fb/fbtile.c
+++ b/xc/programs/Xserver/fb/fbtile.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbtile.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbtile.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbtile.c,v 1.3 2000/02/12 03:39:43 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbtile.c,v 1.4 2000/02/23 20:29:48 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbutil.c b/xc/programs/Xserver/fb/fbutil.c
index 6ebac45a0..9515074b4 100644
--- a/xc/programs/Xserver/fb/fbutil.c
+++ b/xc/programs/Xserver/fb/fbutil.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbutil.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbutil.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbutil.c,v 1.3 2000/02/14 19:20:32 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbutil.c,v 1.4 2000/02/23 20:29:48 dawes Exp $ */
#include "fb.h"
diff --git a/xc/programs/Xserver/fb/fbwindow.c b/xc/programs/Xserver/fb/fbwindow.c
index 96c8ed956..79090a55d 100644
--- a/xc/programs/Xserver/fb/fbwindow.c
+++ b/xc/programs/Xserver/fb/fbwindow.c
@@ -1,5 +1,5 @@
/*
- * $Id: fbwindow.c,v 1.1.1.2 2000/02/22 15:42:20 kem Exp $
+ * Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
* Copyright © 1998 Keith Packard
*
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbwindow.c,v 1.2 2000/02/14 19:20:32 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbwindow.c,v 1.3 2000/02/23 20:29:48 dawes Exp $ */
#include "fb.h"