This patch makes afb and the various cfb modules load successfully under dlloader. It should not change any runtime behaviour, but I haven't tested it yet. With two exceptions, these changes parallel changes in other modules, so it should be pretty much right. afb implicitly relied on mfb without ever loading it, and neither the fbdev nor vesa drivers (the only two users of afb) loaded mfb for it. I don't see how this could have ever worked under even the old module loader. afb now loads mfb as a submodule. cfb now has an interesting hack that fixes up some of the GCOps structs automagically at CreateGC time. anholt said something suitably scary about not doing so lazily (ie, when the function to be fixed up was called) due to the wrapping rules for GCOps, hopefully this is correct. Please consider this for merging before the release, it would make subffb and sunleo work at least partially under dlloader.
Created attachment 664 [details] [review] proposed patch
i tested this under s3virge's cfb mode. cfb, cfb16, and cfb32 appear to work fine. i could not discern the correct combination of options to make it use 24-bit packed pixel mode (cfb24), and my attempts to force it in the driver met with segfaults, but since none of this patch is depth-dependent i expect it works. 24-bit sparse pixel mode is handled by xf24_32bpp instead, which i haven't fixed yet.
Created attachment 667 [details] [review] proper fix the last patch omitted the necessary additions to mfb, oops.
dropping the priority, cfb's gonna die anyway.
this one's dead. afb will be fixed to not use mfb. cfb and mfb will vanish in favor of fb (see bug #1245). the patch remains if anyone wants to try cfb with dlloader under 6.8, but i'll never merge this.
ajax@nwnk.net wrote: > cfb's gonna die anyway. That's difficult unless someone fixes the HP PCL DDX, too...
ajax: Are there any objections with committing this to Xorg CVS trunk ? It seems this may be needed for the unified Xserver...
when i say "cfb is gonna die anyway" i'm referring to in-tree users. i haven't tested this patch in a while, as i no longer have any hardware that uses cfb. my sparclinux friends tell me it works, though. i have no objections to merging it, but i also take no responsibility for any exploding puppies etc. ;)
ajax@nwnk.net wrote: > when i say "cfb is gonna die anyway" i'm referring to in-tree users. Uhm... what do you mean with in-tree users ? > i haven't tested this patch in a while, as i no longer have any hardware that > uses cfb. my sparclinux friends tell me it works, though. i have no > objections to merging it, but i also take no responsibility for any exploding > puppies etc. ;) heh... =:-)
(In reply to comment #9) > ajax@nwnk.net wrote: > > when i say "cfb is gonna die anyway" i'm referring to in-tree users. > > Uhm... what do you mean with in-tree users ? oop. xf86 ddx users.
Created attachment 1676 [details] [review] Updated patch for 2005-01-14-trunk (same as attachment #667 [details] [review]) incl. Changelog comment
Patch checked-in... /cvs/xorg/xc/ChangeLog,v <-- ChangeLog new revision: 1.680; previous revision: 1.679 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/afb/afbbres.c,v <-- afbbres.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbbresd.c,v <-- afbbresd.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbclip.c,v <-- afbclip.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbhrzvert.c,v <-- afbhrzvert.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbline.c,v <-- afbline.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbmodule.c,v <-- afbmodule.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbpixmap.c,v <-- afbpixmap.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbpolypnt.c,v <-- afbpolypnt.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbpushpxl.c,v <-- afbpushpxl.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/afb/afbtegblt.c,v <-- afbtegblt.c new revision: 1.3; previous revision: 1.2 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/cfb/Imakefile.inc,v <-- Imakefile.inc new revision: 1.4; previous revision: 1.3 /cvs/xorg/xc/programs/Xserver/cfb/cfballpriv.c,v <-- cfballpriv.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbbitblt.c,v <-- cfbbitblt.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbcppl.c,v <-- cfbcppl.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbgc.c,v <-- cfbgc.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbglblt8.c,v <-- cfbglblt8.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbmap.h,v <-- cfbmap.h new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbpixmap.c,v <-- cfbpixmap.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbscrinit.c,v <-- cfbscrinit.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbtab.h,v <-- cfbtab.h new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbteblt8.c,v <-- cfbteblt8.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/cfb/cfbunmap.h,v <-- cfbunmap.h new revision: 1.2; previous revision: 1.1 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. /cvs/xorg/xc/programs/Xserver/mfb/maskbits.c,v <-- maskbits.c new revision: 1.4; previous revision: 1.3 /cvs/xorg/xc/programs/Xserver/mfb/maskbits.h,v <-- maskbits.h new revision: 1.4; previous revision: 1.3 /cvs/xorg/xc/programs/Xserver/mfb/mergerop.h,v <-- mergerop.h new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/mfb/mfb.h,v <-- mfb.h new revision: 1.4; previous revision: 1.3 /cvs/xorg/xc/programs/Xserver/mfb/mfbclip.c,v <-- mfbclip.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/mfb/mfbfont.c,v <-- mfbfont.c new revision: 1.2; previous revision: 1.1 /cvs/xorg/xc/programs/Xserver/mfb/mfbgc.c,v <-- mfbgc.c new revision: 1.3; previous revision: 1.2 /cvs/xorg/xc/programs/Xserver/mfb/mfbmisc.c,v <-- mfbmisc.c new revision: 1.2; previous revision: 1.1 /cvs/xorg/xc/programs/Xserver/mfb/mfbpushpxl.c,v <-- mfbpushpxl.c new revision: 1.3; previous revision: 1.2 cvs commit: Using deprecated info format strings. Convert your scripts to use the new argument format and remove '1's from your info file format strings. Mailing the commit message to xorg-commit@lists.freedesktop.org... ... marking bug as FIXED.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.