summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordawes <dawes>1994-06-05 13:41:32 +0000
committerdawes <dawes>1994-06-05 13:41:32 +0000
commit70a4b296c629342aa5325c2f0227049eb0966b96 (patch)
tree0d06bcceabd7b5ef9df5e274413d2460796a15b6
parentb1723f6397232d473ed2194b7e192d85b38fb88a (diff)
Mach32 cfb stuff
-rw-r--r--programs/Xserver/Imakefile12
-rw-r--r--programs/Xserver/cfb/Imakefile9
-rw-r--r--programs/Xserver/hw/xfree86/accel/mach32/Imakefile12
-rw-r--r--programs/Xserver/hw/xfree86/accel/mach32/mach32.c24
4 files changed, 48 insertions, 9 deletions
diff --git a/programs/Xserver/Imakefile b/programs/Xserver/Imakefile
index 986b9c8cb..49ae90ef3 100644
--- a/programs/Xserver/Imakefile
+++ b/programs/Xserver/Imakefile
@@ -1,5 +1,5 @@
XCOMM $XConsortium: Imakefile,v 1.184 94/05/09 13:16:03 dpw Exp $
-XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.6 1994/05/30 08:20:19 dawes Exp $
+XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.7 1994/06/01 09:13:13 dawes Exp $
/*
* Server Master Makefile
*/
@@ -534,12 +534,18 @@ XCOMM
XCOMM XFree86 Mach32 Server
XCOMM
MFBDIR = mfb
-/* CFB8DIR = cfb */
-/* CFB16DIR = cfb16 */
+#if Mach32ShareCfb
+CFB8DIR = cfb
+CFB16DIR = cfb16
+#endif
DDXDIR1 = hw/xfree86
XF86MACH32SUBDIRS = $(STDDIRS) $(MFBDIR) $(CFB8DIR) $(CFB16DIR) $(DDXDIR1) $(DEPDIRS)
XF86MACH32OBJS = $(XF86COMSRC)/XF86_Mach32.o
+#if Mach32ShareCfb
+XF86MACH32FBLIBS = $(CFB16)
+#else
XF86MACH32FBLIBS = $(XF86ACCELSRC)/mach32/cfb/libcfb.a $(XF86ACCELSRC)/mach32/cfb16/libcfb.a
+#endif
XF86MACH32LIBS = $(XF86ACCELSRC)/mach32/libmach32.a $(XF86LIBS) PreFbLibs $(XF86MACH32FBLIBS) PostFbLibs
XF86MACH32SYSLIBS = $(SYSLIBS)
SetUIDServerTarget(XF86_Mach32,$(XF86MACH32SUBDIRS),$(XF86MACH32OBJS),$(XF86MACH32LIBS),$(XF86MACH32SYSLIBS))
diff --git a/programs/Xserver/cfb/Imakefile b/programs/Xserver/cfb/Imakefile
index 89db8c59a..8ade0bef6 100644
--- a/programs/Xserver/cfb/Imakefile
+++ b/programs/Xserver/cfb/Imakefile
@@ -1,5 +1,5 @@
XCOMM $XConsortium: Imakefile,v 5.41 93/09/06 18:37:23 rws Exp $
-XCOMM $XFree86$
+XCOMM $XFree86: xc/programs/Xserver/cfb/Imakefile,v 3.0 1994/05/30 08:21:57 dawes Exp $
#include <Server.tmpl>
#ifndef PixelSize
@@ -66,7 +66,12 @@ OBJS = cfbgc.o cfbrrop.o cfbwindow.o \
INCLUDES = -I. -I../mfb -I../mi -I../include -I$(INCLUDESRC) -I$(FONTINCSRC)
LINTLIBS = ../dix/llib-ldix.ln ../os/llib-los.ln \
../mfb/llib-lmfb.ln ../mi/llib-lmi.ln
- DEFINES = -DPSZ=PixelSize
+#ifdef XFree86Version
+#if XF86Mach32Server && Mach32ShareCfb
+COLORDEFINES = -DSTATIC_COLOR
+#endif
+#endif
+ DEFINES = -DPSZ=PixelSize $(COLORDEFINES)
NormalLibraryObjectRule()
NormalLibraryTarget(cfb,$(OBJS))
diff --git a/programs/Xserver/hw/xfree86/accel/mach32/Imakefile b/programs/Xserver/hw/xfree86/accel/mach32/Imakefile
index 470092eb2..0171af3ac 100644
--- a/programs/Xserver/hw/xfree86/accel/mach32/Imakefile
+++ b/programs/Xserver/hw/xfree86/accel/mach32/Imakefile
@@ -1,10 +1,12 @@
XCOMM $XConsortium: Imakefile,v 1.1 94/03/28 21:06:24 dpw Exp $
-XCOMM $XFree86$
+XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/accel/mach32/Imakefile,v 3.0 1994/05/08 05:19:08 dawes Exp $
#include <Server.tmpl>
+#if !Mach32ShareCfb
#define IHaveSubdirs
SUBDIRS = cfb cfb16
+#endif
SRCS = mach32.c mach32cmap.c mach32gc.c mach32fs.c mach32ss.c \
mach32gs.c mach32win.c mach32init.c mach32im.c mach32bstor.c \
@@ -27,7 +29,11 @@ INCLUDES = -I$(XF86COMSRC) -I. -I$(XF86SRC)/vga256/vga \
-I$(SERVERSRC)/cfb -I$(INCLUDESRC) -I$(FONTSRC)/include \
-I$(FONTINCSRC) -I$(XF86OSSRC) -I$(XF86HWSRC)
+#if Mach32ShareCfb
+DEFINES = -DMACH32_SERVER -DPSZ=8 -DMACH32_SHARE_CFB
+#else
DEFINES = -DMACH32_SERVER -DPSZ=8
+#endif
NormalLibraryObjectRule()
@@ -35,7 +41,9 @@ NormalAsmObjectRule()
NormalLibraryTarget(mach32,$(OBJS))
+#if !Mach32ShareCfb
MakeSubdirs($(SUBDIRS))
+#endif
ObjectFromSpecialSource(vgaHW,../../vga256/vga/vgaHW,/**/)
ObjectFromSpecialSource(mach32line1r,mach32line,-DONE_RECT)
@@ -44,4 +52,6 @@ InstallLinkKitLibrary(mach32,$(LINKKITDIR)/drivers)
DependTarget()
+#if !Mach32ShareCfb
DependSubdirs($(SUBDIRS))
+#endif
diff --git a/programs/Xserver/hw/xfree86/accel/mach32/mach32.c b/programs/Xserver/hw/xfree86/accel/mach32/mach32.c
index 567afe287..0c89ecebf 100644
--- a/programs/Xserver/hw/xfree86/accel/mach32/mach32.c
+++ b/programs/Xserver/hw/xfree86/accel/mach32/mach32.c
@@ -1,5 +1,5 @@
/* $XConsortium: mach32.c,v 1.1 94/03/28 21:06:42 dpw Exp $ */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.c,v 3.2 1994/05/08 06:21:29 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.c,v 3.3 1994/05/31 08:04:13 dawes Exp $ */
/*
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
* Copyright 1993 by Kevin E. Martin, Chapel Hill, North Carolina.
@@ -863,8 +863,26 @@ mach32EnterLeaveVT(enter, screen_idx)
PixmapPtr pspix;
ScreenPtr pScreen = savepScreen;
- if (!xf86Exiting && !xf86Resetting)
- pspix = (PixmapPtr)pScreen->devPrivate; /* cfbGetScreenPixmap(pScreen) */
+ if (!xf86Exiting && !xf86Resetting) {
+ /* cfbGetScreenPixmap(pScreen) */
+#ifdef MACH32_SHARE_CFB
+ switch (mach32InfoRec.bitsPerPixel) {
+ case 8:
+ pspix = (PixmapPtr)pScreen->devPrivate;
+ break;
+ case 16:
+ {
+ extern int cfb16ScreenPrivateIndex;
+
+ pspix =
+ (PixmapPtr)pScreen->devPrivates[cfb16ScreenPrivateIndex].ptr;
+ }
+ break;
+ }
+#else
+ pspix = (PixmapPtr)pScreen->devPrivate;
+#endif
+ }
if (pScreen)
WalkTree(pScreen, mach32NewSerialNumber, 0);