[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: