root@sun1.ruf.uni-freiburg.de (Martin Walter) (01/16/90)
Unfortunately R4 does not support the GX. Until Sun will adapt
Xsun to there hardware (hopefully!) I use following little 'quick
and dirty' patch. It accelerates only simple bitblock moves within the
screen, but is very useful in xterm-scrolling and opaque-moves.
Martin.
#########################################################################
*** server/Imakefile.orig Sun Dec 17 01:09:30 1989
--- server/Imakefile Tue Jan 16 13:30:27 1990
***************
*** 241,245 ****
SUNOBJS = ddx/sun/sunInit.o $(FONTUTIL)
SUNLIBS = $(SUN) $(CFB) $(DIX) $(BSD) $(SNF) $(MFB) $(MI) $(EXTENSIONS)
! SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS)
XsunDIRS = $(SUNDIRS)
--- 241,245 ----
SUNOBJS = ddx/sun/sunInit.o $(FONTUTIL)
SUNLIBS = $(SUN) $(CFB) $(DIX) $(BSD) $(SNF) $(MFB) $(MI) $(EXTENSIONS)
! SUNSYSLIBS = $(SYSLIBS) $(SUNWINDOWSLIBS) -lpixrect
XsunDIRS = $(SUNDIRS)
*** server/ddx/cfb/cfbbitblt.c.orig Fri Dec 8 02:35:42 1989
--- server/ddx/cfb/cfbbitblt.c Tue Jan 16 13:01:03 1990
***************
*** 217,220 ****
--- 217,255 ----
}
+ /*---------------------------------------------------------------------*/
+
+ if ((pSrc->type == DRAWABLE_WINDOW)
+ && (pDst->type == DRAWABLE_WINDOW)
+ && (alu == GXcopy)
+ )
+ {
+ #include <pixrect/pixrect_hs.h>
+
+ static Pixrect *screen = 0;
+ static planemaskSav = -999999;
+ if (!screen) screen = pr_open("/dev/fb");
+
+ if (planemask != planemaskSav) {
+ planemaskSav = planemask;
+ pr_putattributes(screen,&planemaskSav);
+ }
+
+ while(nbox--)
+ {
+ pr_rop( screen,
+ pbox->x1, pbox->y1,
+ pbox->x2 - pbox->x1, pbox->y2 - pbox->y1,
+ PIX_SRC, screen,
+ pptSrc->x, pptSrc->y);
+ pbox++;
+ pptSrc++;
+ }
+ /* Important: Wait for Completion! */
+ pr_get(screen, 0, 0);
+
+ } else
+
+ /*---------------------------------------------------------------------*/
+
/* special case copy */
if (alu == GXcopy && (planemask & PMSK) == PMSK)
#########################################################################
--
_____________________________________________________________________________
Internet: mawa@sun1.ruf.uni-freiburg.de (132.230.1.1) | Rechenzentrum Uni
X.400: G=martin;S=walter;OU=ruf;P=uni-freiburg;A=dbp;C=de | Freiburg, Germany