[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dunham@cse.msu.edu: Re: XFree86, Debian, and patches]



Branden, hopefully this will fix our crashes with the Xsun* servers...

----- Forwarded message from Steve Dunham <dunham@cse.msu.edu> -----

X-From_: dunham@cse.msu.edu  Wed Oct 13 09:31:24 1999
Delivered-To: bcollins@debian.org
Cc: bcollins@debian.org
Subject: Re: XFree86, Debian, and patches
From: Steve Dunham <dunham@cse.msu.edu>
Date: 13 Oct 1999 09:30:48 -0400
In-Reply-To: Branden Robinson's message of "Sat, 9 Oct 1999 00:30:29 -0400"
X-Mailer: Gnus v5.5/XEmacs 20.4 - "Emerald"

Branden Robinson <branden@ecn.purdue.edu> writes:

> I have a whole *bunch* of patches to submit, and I fear some people might
> get upset with me if I just spam the patches list with them.

> For the Debian packages of 3.3.5 I finally completed the task of breaking
> the monolithic .diff I inherited when I took over the package into chunks
> that are more or less divided up by their function.  Some of the
> Alpha, SPARC, and 64-bit stuff is still a bit intermixed, though.

Here is a sparc patch to bring us in sync with RedHat's 3.3.5 package.
Attached below.  I skimmed diffs from other parts of the tree and
didn't see anything else that looked significant.

Patch is not tested, but it is just a diff between Red Hat's tree and
our (3.3.5-1 tree).  (I start a job in CA on Nov. 1, so I probably
can't find time to test.)

diff -bruN xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBfrect.c rh/xc/programs/Xserver/hw/sun/FFB/FFBfrect.c
--- xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBfrect.c	Sat Oct  2 15:28:22 1999
+++ rh/xc/programs/Xserver/hw/sun/FFB/FFBfrect.c	Sun Oct  3 21:42:54 1999
@@ -273,7 +273,6 @@
 			/* See if the aligned area is large enough for
 			 * page fill to be worthwhile.
 			 */
-			FFB_WRITE_DRAWOP(ffbPriv, ffb, FFB_DRAWOP_FASTFILL);
 			if(extra_work < 0 ||
 			   BOX_AREA(paligned_w, paligned_h) < ffp->pagefill_small_area) {
 		   do_fastfill:
@@ -369,7 +368,7 @@
 		  CreatorStipplePtr stipple,
 		  unsigned int ppc, unsigned int ppc_mask)
 {
-	ppc |= FFB_PPC_APE_ENABLE | FFB_PPC_TBE_OPAQUE;
+	ppc |= FFB_PPC_APE_ENABLE | FFB_PPC_TBE_TRANSPARENT;
 	ppc_mask |= FFB_PPC_APE_MASK | FFB_PPC_TBE_MASK;
 	FFB_WRITE_PPC(ffbPriv, ffb, ppc, ppc_mask);
 	FFB_WRITE_ROP(ffbPriv, ffb, (FFB_ROP_EDIT_BIT|stipple->alu));
diff -bruN xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBsspans.c rh/xc/programs/Xserver/hw/sun/FFB/FFBsspans.c
--- xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBsspans.c	Sat Oct  2 15:28:22 1999
+++ rh/xc/programs/Xserver/hw/sun/FFB/FFBsspans.c	Sun Oct  3 21:42:54 1999
@@ -80,28 +80,7 @@
 		return;
 
 	/* Get SFB ready. */
-	{
-		unsigned int ppc = FFB_PPC_FW_DISABLE | FFB_PPC_VCE_DISABLE | FFB_PPC_APE_DISABLE | FFB_PPC_CS_VAR;
-		unsigned int ppc_mask = FFB_PPC_FW_MASK | FFB_PPC_VCE_MASK | FFB_PPC_APE_MASK | FFB_PPC_CS_MASK;
-		unsigned int rop = FFB_ROP_EDIT_BIT | pGC->alu;
-
-		if((ffbPriv->ppc_cache & ppc_mask) != ppc ||
-		   ffbPriv->fbc_cache != FFB_FBC_DEFAULT ||
-		   ffbPriv->rop_cache != rop ||
-		   ffbPriv->pmask_cache != pGC->planemask) {
-			ffbPriv->ppc_cache &= ~ppc_mask;
-			ffbPriv->ppc_cache |= ppc;
-			ffbPriv->fbc_cache = FFB_FBC_DEFAULT;
-			ffbPriv->rop_cache = rop;
-			ffbPriv->pmask_cache = pGC->planemask;
-			ffbPriv->rp_active = 1;
-			FFBFifo(ffbPriv, 4);
-			ffb->ppc = ppc;
-			ffb->fbc = FFB_FBC_DEFAULT;
-			ffb->rop = rop;
-			ffb->pmask = pGC->planemask;
-		}
-	}
+	FFB_WRITE_ATTRIBUTES_SFB_VAR(ffbPriv, pGC->planemask, pGC->alu);
 	FFBWait(ffbPriv, ffb);
 
 	addrp = (char *) ffbPriv->fb;
diff -bruN xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBzeroarc.c rh/xc/programs/Xserver/hw/sun/FFB/FFBzeroarc.c
--- xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/FFBzeroarc.c	Sat Oct  2 15:28:22 1999
+++ rh/xc/programs/Xserver/hw/sun/FFB/FFBzeroarc.c	Sun Oct  3 21:42:54 1999
@@ -62,22 +62,22 @@
 } DashInfo;
 
 #define Pixelate(xval,yval,ext) 				\
-if ((xval) >= (ext)->x1 &&					\
-    (xval) < (ext)->x2 &&					\
-    (yval) >= (ext)->y1 &&					\
-    (yval) < (ext)->y2) {					\
+if (((xval)+xoff) >= (ext)->x1 &&				\
+    ((xval)+xoff) < (ext)->x2 &&				\
+    ((yval)+yoff) >= (ext)->y1 &&				\
+    ((yval)+yoff) < (ext)->y2) {				\
 	FFBFifo(ffbPriv, 2);					\
 	FFB_WRITE64(&ffb->bh, ((yval)+yoff), ((xval)+xoff));	\
-} while (0)
+}
 
 #define Pixelate1(xval,yval,ext)				\
-if ((xval) >= (ext)->x1 &&					\
-    (xval) < (ext)->x2 &&					\
-    (yval) >= (ext)->y1 &&					\
-    (yval) < (ext)->y2) {					\
+if (((xval)+xoff) >= (ext)->x1 &&				\
+    ((xval)+xoff) < (ext)->x2 &&				\
+    ((yval)+yoff) >= (ext)->y1 &&				\
+    ((yval)+yoff) < (ext)->y2) {				\
 	FFBFifo(ffbPriv, 2);					\
 	FFB_WRITE64(&ffb->bh, ((yval)+yoff), ((xval)+xoff));	\
-} while (0)
+}
 
 #define DoPix(idx,xval,yval,ext) if (mask & (1 << idx)) Pixelate(xval, yval,ext);
 
@@ -432,7 +432,7 @@
         if(gcPriv->stipple == NULL) {
 		FFB_WRITE_ATTRIBUTES(ffbPriv,
 				     ppc|FFB_PPC_FW_DISABLE|FFB_PPC_VCE_DISABLE|FFB_PPC_APE_DISABLE,
-				     FFB_PPC_CS_MASK|FFB_PPC_FW_DISABLE|FFB_PPC_VCE_MASK|FFB_PPC_APE_MASK,
+				     FFB_PPC_CS_MASK|FFB_PPC_FW_MASK|FFB_PPC_VCE_MASK|FFB_PPC_APE_MASK,
 				     pGC->planemask,
 				     FFB_ROP_EDIT_BIT|pGC->alu,
 				     FFB_DRAWOP_DOT, pGC->fgPixel,
@@ -445,6 +445,7 @@
 		FFB_WRITE_DRAWOP(ffbPriv, ffb, FFB_DRAWOP_DOT);
 		FFB_WRITE_FBC(ffbPriv, ffb, FFB_FBC_DEFAULT);
 	}
+	if((ppc & FFB_PPC_CS_MASK) == FFB_PPC_CS_VAR)
 	FFBWait(ffbPriv, ffb);
 
 	for (arc = parcs, i = narcs; --i >= 0; arc++) {
diff -bruN xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/sunFFB.c rh/xc/programs/Xserver/hw/sun/FFB/sunFFB.c
--- xfree86-1-3.3.5/build-tree/xc/programs/Xserver/hw//sun/FFB/sunFFB.c	Sat Oct  2 15:28:22 1999
+++ rh/xc/programs/Xserver/hw/sun/FFB/sunFFB.c	Sun Oct  3 21:42:54 1999
@@ -145,6 +145,8 @@
 							 pBgWin->drawable.x - pPrivWin->oldRotate.x);
 					cfbYRotatePixmap(pPrivWin->pRotatedBorder,
 							 pBgWin->drawable.y - pPrivWin->oldRotate.y);
+					pPrivWin->oldRotate.x = pBgWin->drawable.x;
+					pPrivWin->oldRotate.y = pBgWin->drawable.y;
 				}
 				break;
 			}



----- End forwarded message -----


Reply to: