Index: xc/ChangeLog =================================================================== RCS file: /cvs/xorg/xc/ChangeLog,v retrieving revision 1.25 diff -u -2 -0 -r1.25 ChangeLog --- a/xc/ChangeLog 15 May 2004 14:15:09 -0000 1.25 +++ b/xc/ChangeLog 15 May 2004 14:39:27 -0000 @@ -1,21 +1,27 @@ 2004-05-15 Roland Mainz + * xc/programs/Xserver/Xprint/Init.c + BugZilla #622: RFE: Xprt default BIGREQUESTS extension buffer + size should be 8MB (to make |XpPutDocumentData()| happy and to + improve performance). + +2004-05-15 Roland Mainz * xc/programs/xphelloworld/Imakefile BugZilla #625: Work around build bustage which happens when build machine has no Motif installed. 2004-05-11 Eric Anholt * programs/Xserver/fb/fbcompose.c: (fbCombineMaskAlphaC), (fbCombineAtopC), (fbCombineXorC), (fbCombineSaturateU), (fbCombineSaturateC), (fbCombineDisjointGeneralC), (fbCombineConjointGeneralC): * programs/Xserver/fb/fbpict.c: (fbComposite): * programs/Xserver/fb/fbpict.h: Fix problems in render fb implementation found by rendercheck: - fbCombineSaturate was pointed at fbCombineDisjointOver, instead of fbCombineDisjointOverReverse as it should. Instead, point fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to be faster). - fix previously-unused fbCombineSaturate implementation. - fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do what it's supposed to (return a cs.alpha). Index: xc/programs/Xserver/Xprint/Init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Init.c,v retrieving revision 1.3 diff -u -2 -0 -r1.3 Init.c --- a/xc/programs/Xserver/Xprint/Init.c 29 Apr 2004 23:59:15 -0000 1.3 +++ b/xc/programs/Xserver/Xprint/Init.c 15 May 2004 14:39:43 -0000 @@ -291,40 +291,47 @@ /* * This function is responsible for doing initalisation of any global * variables at an very early point of server startup (even before * |ProcessCommandLine()|. */ void XprintInitGlobals(void) { xprintInitGlobalsCalled = TRUE; #ifdef SMART_SCHEDULE /* Somehow the XF86 "smart scheduler" completely kills the Xprint DDX * (see http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=467 * ("Xfree86's "smart scheduler" breaks Xprt") */ SmartScheduleDisable = TRUE; #endif /* SMART_SCHEDULE */ /* Disable internal screensaver for Xprint (workaround for * http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg * Xprt starts to consume 100% CPU when being idle for some time")) */ defaultScreenSaverTime = 0; + + /* Ensure that the maximum request size for the BIGREQUESTS extension + * is at least 8MB (see + * http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - "RFE: + * Xprt's default BIGREQUESTS extension buffer size should be 8MB") + */ + maxBigRequestSize = (8*1048576)-1; } /* * XprintUseMsg() prints usage for the Xprint-specific options */ void XprintUseMsg() { XpSpoolerTypePtr curr = xpstm; /* Option '-XpFile' */ ErrorF("-XpFile file specifies an alternate `Xprinters' file, rather\n"); ErrorF(" than the default one (e.g.\n"); ErrorF(" `${XPCONFIGDIR}/${LANG}/print/Xprinters') or\n"); ErrorF(" `${XPCONFIGDIR}/C/print/Xprinters'.\n"); /* Option '-XpSpoolerType' */ ErrorF("-XpSpoolerType string specifies a spooler type.\n"); ErrorF(" Supported values are:\n"); while( curr->name != NULL ) @@ -1300,40 +1307,49 @@ { FatalError("Internal error: XprintInitGlobals() not called."); } #ifdef SMART_SCHEDULE /* |XprintInitGlobals| should have set |SmartScheduleDisable| to * |TRUE| - if not we will trigger this safeguard. */ if( SmartScheduleDisable != TRUE ) { FatalError("Internal error: XF86 smart scheduler incompatible to Xprint DDX."); } #endif /* SMART_SCHEDULE */ /* Safeguard for * http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg * Xprt starts to consume 100% CPU when being idle for some time") * |XprintInitGlobals| should have set |defaultScreenSaverTime| to * |0| - if not we will trigger this trap. */ if( defaultScreenSaverTime != 0 ) { FatalError("Internal screen saver must be OFF for printing."); } + + /* Print a warnung when the maximum request size of the BIGREQUESTS + * extension is smaller than 8MB (see + * http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622) + */ + if (maxBigRequestSize < (8*1048576)-1) { + ErrorF("Xp Extension: BIGREQUESTS max. request is currently %ld bytes " + ", recommemded minimum for Xprint is 8MB.\n", (long)maxBigRequestSize); + } /* * this little test is just a warning at startup to make sure * that the config directory exists. * * what this ugly looking if says is that if both ways of * calling configDir works and both directories don't exist, * then print an error saying we can't find the non-lang one. */ if (((configDir = XpGetConfigDir(TRUE)) != NULL) && (access(configDir, F_OK) == 0)) { xfree(configDir); } else if (((configDir = XpGetConfigDir(FALSE)) != NULL) && (access(configDir, F_OK) == 0)) { xfree(configDir); } else {