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

----- Forwarded message from Steve Dunham <[EMAIL PROTECTED]> -----

X-From_: [EMAIL PROTECTED]  Wed Oct 13 09:31:24 1999
Delivered-To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: XFree86, Debian, and patches
From: Steve Dunham <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]> 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 via email to