summaryrefslogtreecommitdiff
path: root/x11-servers
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2004-05-18 05:29:03 +0000
committerEric Anholt <anholt@FreeBSD.org>2004-05-18 05:29:03 +0000
commit147aa0a9a8384bed763cd93c7942bcf242835f56 (patch)
tree96b02797f59bd7b233d7c9b91c77e041e8b6e31c /x11-servers
parentIt's USE_PERL5, not USE_PERL (diff)
[1] Fix packaging on amd64
[2] Remove sparc64 patch that got spammed into the wrong location in FreeBSD.cf [3] Fix many problems in the Render implementation. [4] Depend on libGL to provide glx headers, until they're located in a more appropriate package. PR: [1] ports/66682 Submitted by: [1] Francois Tigeot <ftigeot@wolfpond.org> Obtained from: [3] X.Org CVS
Notes
Notes: svn path=/head/; revision=109396
Diffstat (limited to 'x11-servers')
-rw-r--r--x11-servers/xorg-server-snap/Makefile8
-rw-r--r--x11-servers/xorg-server-snap/files/patch-FreeBSD.cf9
-rw-r--r--x11-servers/xorg-server-snap/files/patch-fb-renderfixes.diff320
-rw-r--r--x11-servers/xorg-server-snap/pkg-plist2
-rw-r--r--x11-servers/xorg-server/Makefile8
-rw-r--r--x11-servers/xorg-server/files/patch-FreeBSD.cf9
-rw-r--r--x11-servers/xorg-server/files/patch-fb-renderfixes.diff320
-rw-r--r--x11-servers/xorg-server/pkg-plist2
8 files changed, 650 insertions, 28 deletions
diff --git a/x11-servers/xorg-server-snap/Makefile b/x11-servers/xorg-server-snap/Makefile
index 59de56d38655..a3e24c28394f 100644
--- a/x11-servers/xorg-server-snap/Makefile
+++ b/x11-servers/xorg-server-snap/Makefile
@@ -7,7 +7,7 @@
PORTNAME= server
PORTVERSION= 6.7.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-servers
MASTER_SITES= http://freedesktop.org/~xorg/X11R6.7.0/src/
PKGNAMEPREFIX= xorg-
@@ -19,7 +19,8 @@ COMMENT= X.Org X server and related programs
LIB_PC_DEPENDS= ${X11BASE}/libdata/pkgconfig/xdmcp.pc:${PORTSDIR}/x11/libXdmcp \
${X11BASE}/libdata/pkgconfig/xau.pc:${PORTSDIR}/x11/libXau
-LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2
+LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
+ GL.1:${PORTSDIR}/x11/libGL
BUILD_DEPENDS= ${X11BASE}/include/X11/extensions/XKMformat.h:${PORTSDIR}/x11/libxkbfile \
${LIB_PC_DEPENDS}
RUN_DEPENDS= ${LIB_PC_DEPENDS}
@@ -32,8 +33,7 @@ MAN1= Xorg.1 \
getconfig.1 \
gtf.1 \
kbd_mode.1 \
- pcitweak.1 \
- scanpci.1
+ pcitweak.1
MAN4= citron.4 \
dynapro.4 \
elographics.4 \
diff --git a/x11-servers/xorg-server-snap/files/patch-FreeBSD.cf b/x11-servers/xorg-server-snap/files/patch-FreeBSD.cf
index f154dc607424..c0139fdbeec7 100644
--- a/x11-servers/xorg-server-snap/files/patch-FreeBSD.cf
+++ b/x11-servers/xorg-server-snap/files/patch-FreeBSD.cf
@@ -57,15 +57,6 @@
# else
# define LibraryRpathLoadFlags -R $(USRLIBDIRPATH)
# endif
-@@ -426,6 +422,8 @@
- #if defined(AlphaArchitecture) || defined(Sparc64Architecture) || \
- defined(ia64Architecture) || defined(AMD64Architecture)
- #define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
-+#define AsVISOption -Av9a
-+#define AsOutputArchSize 64
- #endif
- #ifdef Sparc64Architecture
- #define AsVISOption -Av9a
@@ -452,18 +450,8 @@
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#endif
diff --git a/x11-servers/xorg-server-snap/files/patch-fb-renderfixes.diff b/x11-servers/xorg-server-snap/files/patch-fb-renderfixes.diff
new file mode 100644
index 000000000000..6adf66689453
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-fb-renderfixes.diff
@@ -0,0 +1,320 @@
+Index: programs/Xserver/fb/fbcompose.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbcompose.c,v
+retrieving revision 1.2
+diff -u -r1.2 fbcompose.c
+--- programs/Xserver/fb/fbcompose.c 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbcompose.c 11 May 2004 22:58:12 -0000
+@@ -191,15 +191,15 @@
+ a = (*msk->fetcha) (msk);
+ if (!a)
+ return 0;
+-
+- x = (*src->fetcha) (src);
+- if (a == 0xffffffff)
+- return x;
+-
+- m = FbInC(x,0,a,t);
+- n = FbInC(x,8,a,t);
+- o = FbInC(x,16,a,t);
+- p = FbInC(x,24,a,t);
++
++ x = (*src->fetch) (src) >> 24;
++ if (x == 0xff)
++ return a;
++
++ m = FbInU(a,0,x,t);
++ n = FbInU(a,8,x,t);
++ o = FbInU(a,16,x,t);
++ p = FbInU(a,24,x,t);
+ return m|n|o|p;
+ }
+
+@@ -608,7 +608,7 @@
+ cs = fbCombineMaskC (src, msk);
+ d = (*dst->fetch) (dst);
+ s = cs.value;
+- ad = cs.alpha;
++ ad = ~cs.alpha;
+ as = d >> 24;
+ m = FbGen(s,d,0,as,FbGet8(ad,0),t,u,v);
+ n = FbGen(s,d,8,as,FbGet8(ad,8),t,u,v);
+@@ -698,10 +698,10 @@
+ s = cs.value;
+ ad = ~cs.alpha;
+ as = ~d >> 24;
+- m = FbGen(s,d,0,as,ad,t,u,v);
+- n = FbGen(s,d,8,as,ad,t,u,v);
+- o = FbGen(s,d,16,as,ad,t,u,v);
+- p = FbGen(s,d,24,as,ad,t,u,v);
++ m = FbGen(s,d,0,as,FbGet8(ad,0),t,u,v);
++ n = FbGen(s,d,8,as,FbGet8(ad,8),t,u,v);
++ o = FbGen(s,d,16,as,FbGet8(ad,16),t,u,v);
++ p = FbGen(s,d,24,as,FbGet8(ad,24),t,u,v);
+ (*dst->store) (dst, m|n|o|p);
+ }
+
+@@ -763,10 +763,9 @@
+ FbCompositeOperand *dst)
+ {
+ CARD32 s = fbCombineMaskU (src, msk), d;
+-#if 0
+ CARD16 sa, da;
+ CARD16 ad, as;
+- CARD16 t;
++ CARD16 t, u, v;
+ CARD32 m,n,o,p;
+
+ d = (*dst->fetch) (dst);
+@@ -789,16 +788,6 @@
+ p = FbGen(s,d,24,as,ad,t,u,v);
+ }
+ (*dst->store) (dst, m|n|o|p);
+-#else
+- if ((s >> 24) == 0xff)
+- (*dst->store) (dst, s);
+- else
+- {
+- d = (*dst->fetch) (dst);
+- if ((s >> 24) > (d >> 24))
+- (*dst->store) (dst, s);
+- }
+-#endif
+ }
+
+ void
+@@ -831,7 +820,7 @@
+ else
+ n = FbGen (s, d, 8, (da << 8) / sg, 0xff, t, u, v);
+
+- if (sr < da)
++ if (sr <= da)
+ o = FbAdd(s,d,16,t);
+ else
+ o = FbGen (s, d, 16, (da << 8) / sr, 0xff, t, u, v);
+@@ -972,8 +961,8 @@
+ FbCompSrc cs;
+ CARD32 s, d;
+ CARD32 m,n,o,p;
+- CARD32 Fa;
+- CARD16 Fb, t, u, v;
++ CARD32 Fa, Fb;
++ CARD16 t, u, v;
+ CARD32 sa;
+ CARD8 da;
+
+@@ -996,10 +985,10 @@
+ Fa = m|n|o|p;
+ break;
+ case CombineAIn:
+- m = fbCombineDisjointOutPart ((CARD8) (sa >> 0), da);
+- n = fbCombineDisjointOutPart ((CARD8) (sa >> 8), da) << 8;
+- o = fbCombineDisjointOutPart ((CARD8) (sa >> 16), da) << 16;
+- p = fbCombineDisjointOutPart ((CARD8) (sa >> 24), da) << 24;
++ m = fbCombineDisjointInPart ((CARD8) (sa >> 0), da);
++ n = fbCombineDisjointInPart ((CARD8) (sa >> 8), da) << 8;
++ o = fbCombineDisjointInPart ((CARD8) (sa >> 16), da) << 16;
++ p = fbCombineDisjointInPart ((CARD8) (sa >> 24), da) << 24;
+ Fa = m|n|o|p;
+ break;
+ case CombineA:
+@@ -1012,19 +1001,27 @@
+ Fb = 0;
+ break;
+ case CombineBOut:
+- Fb = fbCombineDisjointOutPart (da, sa);
++ m = fbCombineDisjointOutPart (da, (CARD8) (sa >> 0));
++ n = fbCombineDisjointOutPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineDisjointOutPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineDisjointOutPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineBIn:
+- Fb = fbCombineDisjointInPart (da, sa);
++ m = fbCombineDisjointInPart (da, (CARD8) (sa >> 0));
++ n = fbCombineDisjointInPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineDisjointInPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineDisjointInPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineB:
+- Fb = 0xff;
++ Fb = 0xffffffff;
+ break;
+ }
+- m = FbGen (s,d,0,FbGet8(Fa,0),Fb,t,u,v);
+- n = FbGen (s,d,8,FbGet8(Fa,8),Fb,t,u,v);
+- o = FbGen (s,d,16,FbGet8(Fa,16),Fb,t,u,v);
+- p = FbGen (s,d,24,FbGet8(Fa,24),Fb,t,u,v);
++ m = FbGen (s,d,0,FbGet8(Fa,0),FbGet8(Fb,0),t,u,v);
++ n = FbGen (s,d,8,FbGet8(Fa,8),FbGet8(Fb,8),t,u,v);
++ o = FbGen (s,d,16,FbGet8(Fa,16),FbGet8(Fb,16),t,u,v);
++ p = FbGen (s,d,24,FbGet8(Fa,24),FbGet8(Fb,24),t,u,v);
+ s = m|n|o|p;
+ (*dst->store) (dst, s);
+ }
+@@ -1065,21 +1062,6 @@
+ fbCombineDisjointGeneralC (src, msk, dst, CombineAOver);
+ }
+
+-void
+-fbCombineDisjointOverReverseU (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst)
+-{
+- fbCombineDisjointGeneralU (src, msk, dst, CombineBOver);
+-}
+-
+-void
+-fbCombineDisjointOverReverseC (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst)
+-{
+- fbCombineDisjointGeneralC (src, msk, dst, CombineBOver);
+-}
+
+ void
+ fbCombineDisjointInU (FbCompositeOperand *src,
+@@ -1281,8 +1263,8 @@
+ FbCompSrc cs;
+ CARD32 s, d;
+ CARD32 m,n,o,p;
+- CARD32 Fa;
+- CARD16 Fb, t, u, v;
++ CARD32 Fa, Fb;
++ CARD16 t, u, v;
+ CARD32 sa;
+ CARD8 da;
+
+@@ -1305,10 +1287,10 @@
+ Fa = m|n|o|p;
+ break;
+ case CombineAIn:
+- m = fbCombineConjointOutPart ((CARD8) (sa >> 0), da);
+- n = fbCombineConjointOutPart ((CARD8) (sa >> 8), da) << 8;
+- o = fbCombineConjointOutPart ((CARD8) (sa >> 16), da) << 16;
+- p = fbCombineConjointOutPart ((CARD8) (sa >> 24), da) << 24;
++ m = fbCombineConjointInPart ((CARD8) (sa >> 0), da);
++ n = fbCombineConjointInPart ((CARD8) (sa >> 8), da) << 8;
++ o = fbCombineConjointInPart ((CARD8) (sa >> 16), da) << 16;
++ p = fbCombineConjointInPart ((CARD8) (sa >> 24), da) << 24;
+ Fa = m|n|o|p;
+ break;
+ case CombineA:
+@@ -1321,19 +1303,27 @@
+ Fb = 0;
+ break;
+ case CombineBOut:
+- Fb = fbCombineConjointOutPart (da, sa);
++ m = fbCombineConjointOutPart (da, (CARD8) (sa >> 0));
++ n = fbCombineConjointOutPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineConjointOutPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineConjointOutPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineBIn:
+- Fb = fbCombineConjointInPart (da, sa);
++ m = fbCombineConjointInPart (da, (CARD8) (sa >> 0));
++ n = fbCombineConjointInPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineConjointInPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineConjointInPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineB:
+- Fb = 0xff;
++ Fb = 0xffffffff;
+ break;
+ }
+- m = FbGen (s,d,0,FbGet8(Fa,0),Fb,t,u,v);
+- n = FbGen (s,d,8,FbGet8(Fa,8),Fb,t,u,v);
+- o = FbGen (s,d,16,FbGet8(Fa,16),Fb,t,u,v);
+- p = FbGen (s,d,24,FbGet8(Fa,24),Fb,t,u,v);
++ m = FbGen (s,d,0,FbGet8(Fa,0),FbGet8(Fb,0),t,u,v);
++ n = FbGen (s,d,8,FbGet8(Fa,8),FbGet8(Fb,8),t,u,v);
++ o = FbGen (s,d,16,FbGet8(Fa,16),FbGet8(Fb,16),t,u,v);
++ p = FbGen (s,d,24,FbGet8(Fa,24),FbGet8(Fb,24),t,u,v);
+ s = m|n|o|p;
+ (*dst->store) (dst, s);
+ }
+@@ -1519,14 +1509,14 @@
+ fbCombineAtopReverseU,
+ fbCombineXorU,
+ fbCombineAddU,
+- fbCombineDisjointOverU, /* Saturate */
++ fbCombineSaturateU,
+ 0,
+ 0,
+ fbCombineClear,
+ fbCombineSrcU,
+ fbCombineDst,
+ fbCombineDisjointOverU,
+- fbCombineDisjointOverReverseU,
++ fbCombineSaturateU, /* DisjointOverReverse */
+ fbCombineDisjointInU,
+ fbCombineDisjointInReverseU,
+ fbCombineDisjointOutU,
+@@ -1566,14 +1556,14 @@
+ fbCombineAtopReverseC,
+ fbCombineXorC,
+ fbCombineAddC,
+- fbCombineDisjointOverC, /* Saturate */
++ fbCombineSaturateC,
+ 0,
+ 0,
+ fbCombineClear, /* 0x10 */
+ fbCombineSrcC,
+ fbCombineDst,
+ fbCombineDisjointOverC,
+- fbCombineDisjointOverReverseC,
++ fbCombineSaturateC, /* DisjointOverReverse */
+ fbCombineDisjointInC,
+ fbCombineDisjointInReverseC,
+ fbCombineDisjointOutC,
+Index: programs/Xserver/fb/fbpict.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbpict.c,v
+retrieving revision 1.2
+diff -u -r1.2 fbpict.c
+--- programs/Xserver/fb/fbpict.c 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbpict.c 12 May 2004 00:45:56 -0000
+@@ -1001,7 +1001,6 @@
+ {
+ switch (pSrc->format) {
+ case PICT_a8r8g8b8:
+- case PICT_x8r8g8b8:
+ switch (pDst->format) {
+ case PICT_a8r8g8b8:
+ case PICT_x8r8g8b8:
+@@ -1016,7 +1015,6 @@
+ }
+ break;
+ case PICT_a8b8g8r8:
+- case PICT_x8b8g8r8:
+ switch (pDst->format) {
+ case PICT_a8b8g8r8:
+ case PICT_x8b8g8r8:
+Index: programs/Xserver/fb/fbpict.h
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbpict.h,v
+retrieving revision 1.2
+diff -u -r1.2 fbpict.h
+--- programs/Xserver/fb/fbpict.h 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbpict.h 11 May 2004 18:46:20 -0000
+@@ -333,15 +333,8 @@
+ FbCompositeOperand *msk,
+ FbCompositeOperand *dst);
+
+-void
+-fbCombineDisjointOverReverseU (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst);
+-
+-void
+-fbCombineDisjointOverReverseC (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst);
++#define fbCombineDisjointOverReverseU fbCombineSaturateU
++#define fbCombineDisjointOverReverseC fbCombineSaturateC
+
+ void
+ fbCombineDisjointInU (FbCompositeOperand *src,
diff --git a/x11-servers/xorg-server-snap/pkg-plist b/x11-servers/xorg-server-snap/pkg-plist
index 81e2f2ef0506..a0638fd7ae11 100644
--- a/x11-servers/xorg-server-snap/pkg-plist
+++ b/x11-servers/xorg-server-snap/pkg-plist
@@ -117,7 +117,7 @@ lib/modules/drivers/riva128.o
%%I386%%lib/modules/drivers/tseng_drv.o
%%I386%%lib/modules/drivers/vesa_drv.o
%%SPARC64_NA%%lib/modules/drivers/vga_drv.o
-lib/modules/drivers/via_drv.o
+%%I386%%lib/modules/drivers/via_drv.o
%%I386%%lib/modules/drivers/vmware_drv.o
lib/modules/extensions/libGLcore.a
lib/modules/extensions/libdbe.a
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
index 59de56d38655..a3e24c28394f 100644
--- a/x11-servers/xorg-server/Makefile
+++ b/x11-servers/xorg-server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= server
PORTVERSION= 6.7.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-servers
MASTER_SITES= http://freedesktop.org/~xorg/X11R6.7.0/src/
PKGNAMEPREFIX= xorg-
@@ -19,7 +19,8 @@ COMMENT= X.Org X server and related programs
LIB_PC_DEPENDS= ${X11BASE}/libdata/pkgconfig/xdmcp.pc:${PORTSDIR}/x11/libXdmcp \
${X11BASE}/libdata/pkgconfig/xau.pc:${PORTSDIR}/x11/libXau
-LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2
+LIB_DEPENDS= freetype.9:${PORTSDIR}/print/freetype2 \
+ GL.1:${PORTSDIR}/x11/libGL
BUILD_DEPENDS= ${X11BASE}/include/X11/extensions/XKMformat.h:${PORTSDIR}/x11/libxkbfile \
${LIB_PC_DEPENDS}
RUN_DEPENDS= ${LIB_PC_DEPENDS}
@@ -32,8 +33,7 @@ MAN1= Xorg.1 \
getconfig.1 \
gtf.1 \
kbd_mode.1 \
- pcitweak.1 \
- scanpci.1
+ pcitweak.1
MAN4= citron.4 \
dynapro.4 \
elographics.4 \
diff --git a/x11-servers/xorg-server/files/patch-FreeBSD.cf b/x11-servers/xorg-server/files/patch-FreeBSD.cf
index f154dc607424..c0139fdbeec7 100644
--- a/x11-servers/xorg-server/files/patch-FreeBSD.cf
+++ b/x11-servers/xorg-server/files/patch-FreeBSD.cf
@@ -57,15 +57,6 @@
# else
# define LibraryRpathLoadFlags -R $(USRLIBDIRPATH)
# endif
-@@ -426,6 +422,8 @@
- #if defined(AlphaArchitecture) || defined(Sparc64Architecture) || \
- defined(ia64Architecture) || defined(AMD64Architecture)
- #define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
-+#define AsVISOption -Av9a
-+#define AsOutputArchSize 64
- #endif
- #ifdef Sparc64Architecture
- #define AsVISOption -Av9a
@@ -452,18 +450,8 @@
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#endif
diff --git a/x11-servers/xorg-server/files/patch-fb-renderfixes.diff b/x11-servers/xorg-server/files/patch-fb-renderfixes.diff
new file mode 100644
index 000000000000..6adf66689453
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-fb-renderfixes.diff
@@ -0,0 +1,320 @@
+Index: programs/Xserver/fb/fbcompose.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbcompose.c,v
+retrieving revision 1.2
+diff -u -r1.2 fbcompose.c
+--- programs/Xserver/fb/fbcompose.c 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbcompose.c 11 May 2004 22:58:12 -0000
+@@ -191,15 +191,15 @@
+ a = (*msk->fetcha) (msk);
+ if (!a)
+ return 0;
+-
+- x = (*src->fetcha) (src);
+- if (a == 0xffffffff)
+- return x;
+-
+- m = FbInC(x,0,a,t);
+- n = FbInC(x,8,a,t);
+- o = FbInC(x,16,a,t);
+- p = FbInC(x,24,a,t);
++
++ x = (*src->fetch) (src) >> 24;
++ if (x == 0xff)
++ return a;
++
++ m = FbInU(a,0,x,t);
++ n = FbInU(a,8,x,t);
++ o = FbInU(a,16,x,t);
++ p = FbInU(a,24,x,t);
+ return m|n|o|p;
+ }
+
+@@ -608,7 +608,7 @@
+ cs = fbCombineMaskC (src, msk);
+ d = (*dst->fetch) (dst);
+ s = cs.value;
+- ad = cs.alpha;
++ ad = ~cs.alpha;
+ as = d >> 24;
+ m = FbGen(s,d,0,as,FbGet8(ad,0),t,u,v);
+ n = FbGen(s,d,8,as,FbGet8(ad,8),t,u,v);
+@@ -698,10 +698,10 @@
+ s = cs.value;
+ ad = ~cs.alpha;
+ as = ~d >> 24;
+- m = FbGen(s,d,0,as,ad,t,u,v);
+- n = FbGen(s,d,8,as,ad,t,u,v);
+- o = FbGen(s,d,16,as,ad,t,u,v);
+- p = FbGen(s,d,24,as,ad,t,u,v);
++ m = FbGen(s,d,0,as,FbGet8(ad,0),t,u,v);
++ n = FbGen(s,d,8,as,FbGet8(ad,8),t,u,v);
++ o = FbGen(s,d,16,as,FbGet8(ad,16),t,u,v);
++ p = FbGen(s,d,24,as,FbGet8(ad,24),t,u,v);
+ (*dst->store) (dst, m|n|o|p);
+ }
+
+@@ -763,10 +763,9 @@
+ FbCompositeOperand *dst)
+ {
+ CARD32 s = fbCombineMaskU (src, msk), d;
+-#if 0
+ CARD16 sa, da;
+ CARD16 ad, as;
+- CARD16 t;
++ CARD16 t, u, v;
+ CARD32 m,n,o,p;
+
+ d = (*dst->fetch) (dst);
+@@ -789,16 +788,6 @@
+ p = FbGen(s,d,24,as,ad,t,u,v);
+ }
+ (*dst->store) (dst, m|n|o|p);
+-#else
+- if ((s >> 24) == 0xff)
+- (*dst->store) (dst, s);
+- else
+- {
+- d = (*dst->fetch) (dst);
+- if ((s >> 24) > (d >> 24))
+- (*dst->store) (dst, s);
+- }
+-#endif
+ }
+
+ void
+@@ -831,7 +820,7 @@
+ else
+ n = FbGen (s, d, 8, (da << 8) / sg, 0xff, t, u, v);
+
+- if (sr < da)
++ if (sr <= da)
+ o = FbAdd(s,d,16,t);
+ else
+ o = FbGen (s, d, 16, (da << 8) / sr, 0xff, t, u, v);
+@@ -972,8 +961,8 @@
+ FbCompSrc cs;
+ CARD32 s, d;
+ CARD32 m,n,o,p;
+- CARD32 Fa;
+- CARD16 Fb, t, u, v;
++ CARD32 Fa, Fb;
++ CARD16 t, u, v;
+ CARD32 sa;
+ CARD8 da;
+
+@@ -996,10 +985,10 @@
+ Fa = m|n|o|p;
+ break;
+ case CombineAIn:
+- m = fbCombineDisjointOutPart ((CARD8) (sa >> 0), da);
+- n = fbCombineDisjointOutPart ((CARD8) (sa >> 8), da) << 8;
+- o = fbCombineDisjointOutPart ((CARD8) (sa >> 16), da) << 16;
+- p = fbCombineDisjointOutPart ((CARD8) (sa >> 24), da) << 24;
++ m = fbCombineDisjointInPart ((CARD8) (sa >> 0), da);
++ n = fbCombineDisjointInPart ((CARD8) (sa >> 8), da) << 8;
++ o = fbCombineDisjointInPart ((CARD8) (sa >> 16), da) << 16;
++ p = fbCombineDisjointInPart ((CARD8) (sa >> 24), da) << 24;
+ Fa = m|n|o|p;
+ break;
+ case CombineA:
+@@ -1012,19 +1001,27 @@
+ Fb = 0;
+ break;
+ case CombineBOut:
+- Fb = fbCombineDisjointOutPart (da, sa);
++ m = fbCombineDisjointOutPart (da, (CARD8) (sa >> 0));
++ n = fbCombineDisjointOutPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineDisjointOutPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineDisjointOutPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineBIn:
+- Fb = fbCombineDisjointInPart (da, sa);
++ m = fbCombineDisjointInPart (da, (CARD8) (sa >> 0));
++ n = fbCombineDisjointInPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineDisjointInPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineDisjointInPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineB:
+- Fb = 0xff;
++ Fb = 0xffffffff;
+ break;
+ }
+- m = FbGen (s,d,0,FbGet8(Fa,0),Fb,t,u,v);
+- n = FbGen (s,d,8,FbGet8(Fa,8),Fb,t,u,v);
+- o = FbGen (s,d,16,FbGet8(Fa,16),Fb,t,u,v);
+- p = FbGen (s,d,24,FbGet8(Fa,24),Fb,t,u,v);
++ m = FbGen (s,d,0,FbGet8(Fa,0),FbGet8(Fb,0),t,u,v);
++ n = FbGen (s,d,8,FbGet8(Fa,8),FbGet8(Fb,8),t,u,v);
++ o = FbGen (s,d,16,FbGet8(Fa,16),FbGet8(Fb,16),t,u,v);
++ p = FbGen (s,d,24,FbGet8(Fa,24),FbGet8(Fb,24),t,u,v);
+ s = m|n|o|p;
+ (*dst->store) (dst, s);
+ }
+@@ -1065,21 +1062,6 @@
+ fbCombineDisjointGeneralC (src, msk, dst, CombineAOver);
+ }
+
+-void
+-fbCombineDisjointOverReverseU (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst)
+-{
+- fbCombineDisjointGeneralU (src, msk, dst, CombineBOver);
+-}
+-
+-void
+-fbCombineDisjointOverReverseC (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst)
+-{
+- fbCombineDisjointGeneralC (src, msk, dst, CombineBOver);
+-}
+
+ void
+ fbCombineDisjointInU (FbCompositeOperand *src,
+@@ -1281,8 +1263,8 @@
+ FbCompSrc cs;
+ CARD32 s, d;
+ CARD32 m,n,o,p;
+- CARD32 Fa;
+- CARD16 Fb, t, u, v;
++ CARD32 Fa, Fb;
++ CARD16 t, u, v;
+ CARD32 sa;
+ CARD8 da;
+
+@@ -1305,10 +1287,10 @@
+ Fa = m|n|o|p;
+ break;
+ case CombineAIn:
+- m = fbCombineConjointOutPart ((CARD8) (sa >> 0), da);
+- n = fbCombineConjointOutPart ((CARD8) (sa >> 8), da) << 8;
+- o = fbCombineConjointOutPart ((CARD8) (sa >> 16), da) << 16;
+- p = fbCombineConjointOutPart ((CARD8) (sa >> 24), da) << 24;
++ m = fbCombineConjointInPart ((CARD8) (sa >> 0), da);
++ n = fbCombineConjointInPart ((CARD8) (sa >> 8), da) << 8;
++ o = fbCombineConjointInPart ((CARD8) (sa >> 16), da) << 16;
++ p = fbCombineConjointInPart ((CARD8) (sa >> 24), da) << 24;
+ Fa = m|n|o|p;
+ break;
+ case CombineA:
+@@ -1321,19 +1303,27 @@
+ Fb = 0;
+ break;
+ case CombineBOut:
+- Fb = fbCombineConjointOutPart (da, sa);
++ m = fbCombineConjointOutPart (da, (CARD8) (sa >> 0));
++ n = fbCombineConjointOutPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineConjointOutPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineConjointOutPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineBIn:
+- Fb = fbCombineConjointInPart (da, sa);
++ m = fbCombineConjointInPart (da, (CARD8) (sa >> 0));
++ n = fbCombineConjointInPart (da, (CARD8) (sa >> 8)) << 8;
++ o = fbCombineConjointInPart (da, (CARD8) (sa >> 16)) << 16;
++ p = fbCombineConjointInPart (da, (CARD8) (sa >> 24)) << 24;
++ Fb = m|n|o|p;
+ break;
+ case CombineB:
+- Fb = 0xff;
++ Fb = 0xffffffff;
+ break;
+ }
+- m = FbGen (s,d,0,FbGet8(Fa,0),Fb,t,u,v);
+- n = FbGen (s,d,8,FbGet8(Fa,8),Fb,t,u,v);
+- o = FbGen (s,d,16,FbGet8(Fa,16),Fb,t,u,v);
+- p = FbGen (s,d,24,FbGet8(Fa,24),Fb,t,u,v);
++ m = FbGen (s,d,0,FbGet8(Fa,0),FbGet8(Fb,0),t,u,v);
++ n = FbGen (s,d,8,FbGet8(Fa,8),FbGet8(Fb,8),t,u,v);
++ o = FbGen (s,d,16,FbGet8(Fa,16),FbGet8(Fb,16),t,u,v);
++ p = FbGen (s,d,24,FbGet8(Fa,24),FbGet8(Fb,24),t,u,v);
+ s = m|n|o|p;
+ (*dst->store) (dst, s);
+ }
+@@ -1519,14 +1509,14 @@
+ fbCombineAtopReverseU,
+ fbCombineXorU,
+ fbCombineAddU,
+- fbCombineDisjointOverU, /* Saturate */
++ fbCombineSaturateU,
+ 0,
+ 0,
+ fbCombineClear,
+ fbCombineSrcU,
+ fbCombineDst,
+ fbCombineDisjointOverU,
+- fbCombineDisjointOverReverseU,
++ fbCombineSaturateU, /* DisjointOverReverse */
+ fbCombineDisjointInU,
+ fbCombineDisjointInReverseU,
+ fbCombineDisjointOutU,
+@@ -1566,14 +1556,14 @@
+ fbCombineAtopReverseC,
+ fbCombineXorC,
+ fbCombineAddC,
+- fbCombineDisjointOverC, /* Saturate */
++ fbCombineSaturateC,
+ 0,
+ 0,
+ fbCombineClear, /* 0x10 */
+ fbCombineSrcC,
+ fbCombineDst,
+ fbCombineDisjointOverC,
+- fbCombineDisjointOverReverseC,
++ fbCombineSaturateC, /* DisjointOverReverse */
+ fbCombineDisjointInC,
+ fbCombineDisjointInReverseC,
+ fbCombineDisjointOutC,
+Index: programs/Xserver/fb/fbpict.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbpict.c,v
+retrieving revision 1.2
+diff -u -r1.2 fbpict.c
+--- programs/Xserver/fb/fbpict.c 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbpict.c 12 May 2004 00:45:56 -0000
+@@ -1001,7 +1001,6 @@
+ {
+ switch (pSrc->format) {
+ case PICT_a8r8g8b8:
+- case PICT_x8r8g8b8:
+ switch (pDst->format) {
+ case PICT_a8r8g8b8:
+ case PICT_x8r8g8b8:
+@@ -1016,7 +1015,6 @@
+ }
+ break;
+ case PICT_a8b8g8r8:
+- case PICT_x8b8g8r8:
+ switch (pDst->format) {
+ case PICT_a8b8g8r8:
+ case PICT_x8b8g8r8:
+Index: programs/Xserver/fb/fbpict.h
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/fb/fbpict.h,v
+retrieving revision 1.2
+diff -u -r1.2 fbpict.h
+--- programs/Xserver/fb/fbpict.h 23 Apr 2004 19:05:14 -0000 1.2
++++ programs/Xserver/fb/fbpict.h 11 May 2004 18:46:20 -0000
+@@ -333,15 +333,8 @@
+ FbCompositeOperand *msk,
+ FbCompositeOperand *dst);
+
+-void
+-fbCombineDisjointOverReverseU (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst);
+-
+-void
+-fbCombineDisjointOverReverseC (FbCompositeOperand *src,
+- FbCompositeOperand *msk,
+- FbCompositeOperand *dst);
++#define fbCombineDisjointOverReverseU fbCombineSaturateU
++#define fbCombineDisjointOverReverseC fbCombineSaturateC
+
+ void
+ fbCombineDisjointInU (FbCompositeOperand *src,
diff --git a/x11-servers/xorg-server/pkg-plist b/x11-servers/xorg-server/pkg-plist
index 81e2f2ef0506..a0638fd7ae11 100644
--- a/x11-servers/xorg-server/pkg-plist
+++ b/x11-servers/xorg-server/pkg-plist
@@ -117,7 +117,7 @@ lib/modules/drivers/riva128.o
%%I386%%lib/modules/drivers/tseng_drv.o
%%I386%%lib/modules/drivers/vesa_drv.o
%%SPARC64_NA%%lib/modules/drivers/vga_drv.o
-lib/modules/drivers/via_drv.o
+%%I386%%lib/modules/drivers/via_drv.o
%%I386%%lib/modules/drivers/vmware_drv.o
lib/modules/extensions/libGLcore.a
lib/modules/extensions/libdbe.a